我当前在教程之后遇到问题,当我调用控制器方法通过URI传递$id
并尝试执行以删除记录时,该记录将被执行:
public function delete($id)
{
//dd($id);
$sql = 'DELETE * FROM albums WHERE id=:id';
DB::delete($sql, ['id' => $id]);
return redirect()->back();
}
我收到此错误:
SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有一个错误;请参见语法。检查与您的MySQL服务器版本相对应的手册以获取正确语法,以在'* FROM Albums WHERE id =?'附近使用在第1行(SQL:DELETE * FROM相册,其中id =:id)
传递的URI为/album/2/delete
,其中2是我解析的ID。
答案 0 :(得分:3)
答案 1 :(得分:0)
Remove * from query.Also in laravel use this code to delete.
DB::table('albums')
->where(['id' => $id])
->delete();
在使用框架时请勿编写直接查询
答案 2 :(得分:0)
以下是完整的代码:
public function delete($id)
{
//dd($id);
$sql = 'DELETE FROM albums WHERE id=:id';
DB::delete($sql, ['id' => $id]);
return redirect()->back();
}