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

10-08 20:09