如何使用PDO中的绑定参数进行模糊搜索?
时间:2020-03-05 18:52:48 来源:igfitidea点击:
试图做这种事情...
WHERE username LIKE '%$str%'
...但是在PDO中使用绑定参数来准备语句。例如。:
$query = $db->prepare("select * from comments where comment like :search"); $query->bindParam(':search', $str); $query->execute();
我已经尝试过许多单引号和%符号的排列方式,但是这与我很对。
我似乎记得以前曾为此进行过角力,但找不到任何参考。有谁知道(如果?)我们可以在带有命名参数的PDO中很好地做到这一点?
解决方案
回答
啊。在php.net上找到一条使我想起答案的评论;我们需要在对bindParam求值之前对值进行通配,而不必担心引用它。因此,例如,这很好用:
$str = "%$str%"; $query = $db->prepare("select * from comments where comment like :search"); $query->bindParam(':search', $str); $query->execute();