MySQL版本:5.5.43-0ubuntu0.12.04.1
我有一个正在运行的查询
MATCH(title) AGAINST('+:word_1 :word_2' IN BOOLEAN MODE)
我无法让它遵守 PDO 参数。我也尝试用 '?
' 占位符格式化它,但没有成功。
只要我运行纯文本,查询就可以正常运行:
MATCH(title) AGAINST('+cat hat' IN BOOLEAN MODE)
PDO 参数是我确保数据库中传入文本安全的首选方法,我很乐意拥有这项工作,如果没有别的,一致性。
有什么建议吗?
最佳答案
MATCH(title) AGAINST(? IN BOOLEAN MODE)
然后
$stmt->execute([ '+' . $word_1 . ' ' . $word_2 ]);
换句话说,您将 '+'
、$word_1
和 $word_2
连接在一起并绑定(bind)整个字符串。
关于PHP PDO 和 MySQL AGAINST() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30246421/