Php SQLSTATE[42000]:语法错误或访问冲突:1064 laravel
在我的Laravel代码中,我使用Php SQLSTATE[42000]:语法错误或访问冲突:1064 laravel,php,laravel,Php,Laravel,在我的Laravel代码中,我使用DB访问数据库。在名为showtheacherlist的控制器函数中,我试图获取每位教师的所有作品。但是Laravel返回了这个错误。当我转储查询时,将其复制到phpmyadmin并运行,它就工作了。我的代码: function showTeacherList($login){ $select_result = DB::select('select id, name from kafedra where login = ?', [$login]);
DB
访问数据库。在名为showtheacherlist
的控制器函数中,我试图获取每位教师的所有作品。但是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
循环中。您遗漏了一个逗号,用于分隔查询
和绑定
替换:
$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]);