![](/img/trans.png)
[英]Error Laravel Framework: SQLSTATE[42000]: Syntax error or access violation: 1064
[英]SQLSTATE[42000]: Syntax error or access violation: 1064 laravel
在我的 Laravel 代码中,我使用DB
来访问数据库。 在名为showTeacherList
的 controller function 中,我试图获取每位老师的所有作品。 但是 Laravel 返回此错误。 当我转储查询时,将其复制到phpmyadmin
并运行,它可以工作。 我的代码:
function showTeacherList($login){
$select_result = DB::select('select id, name from kafedra where login = ?', [$login]);
$kafedra_id = $select_result[0]->id;
$teachers = DB::select('select id, name from teacher where kafedra_id = ?', [$kafedra_id]);
$teacher_works = [];
$i = 0;
foreach ($teachers as $teacher) {
$teacher_works[$i] = DB::select('select * from work where teacher_id = ?' [$teacher->id]);
$i++;
}
return view('kafedra/teacher_list', ['login' => $login, 'name' => $select_result[0]->name, 'teachers' => $teachers, 'teacher_works' => $teacher_works]);
}
请帮忙,谢谢
您的DB::select
语句中存在语法错误,特别是在您的foreach
循环中。 您错过了分隔query
和bindings
的逗号。
代替:
$teacher_works[$i] = DB::select('select * from work where teacher_id = ?' [$teacher->id]);
和:
$teacher_works[$i] = DB::select('select * from work where teacher_id = ?', [$teacher->id]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.