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
连接在一起并绑定整个字符串。