douliedai4838 2016-02-09 18:19
浏览 374
已采纳

在laravel上保护SQL注入

I need to do auto completion on site, I use laravel. now it work like this:

Group:: whereRaw( where lower (name) like lower ('$q%'))->get ()

But it is not safe I try do like this:

$q="a"; group:: whereRaw("lower (name) like lower ('?%')",[$q])->get ()

always return empty array, but

$q="a"; group:: whereRaw("lower (name) like lower ('$q%')")->get () 

return correct result

  • 写回答

1条回答 默认 最新

  • dougourang1856 2016-02-09 18:49
    关注

    As mentioned, LIKE is case insensitive, so you don't need lower or raw.

    Group::where('name', 'LIKE', $q."%")->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?