我正在将我所有的网站代码从使用 mysql_* 函数转换为 PDO。PDO 上的 PHP 文档并不清楚我的需要。它为您提供了要使用的功能,但没有详细解释它们在不同的场景中。
基本上,我有一个 mysql 全文搜索:
$sql = "SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST ('{$searchFor}*' IN BOOLEAN MODE)";
实际语句要长得多,但这就是它的基本功能。
我的问题是,我如何将其纳入 PDO?
我知道您不打算在位置标记周围使用引号,所以您是否将它们留在 AGAINST() 函数中?我包括他们吗?如果我把它们排除在外,通配符等会发生什么?
$sql = $this->db->prepare("SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST(:searchText IN BOOLEAN MODE");
$sql->bindValue(':searchText', $searchFor . '*');