我將使用mysql_ *函數的所有網站代碼轉換爲PDO。關於PDO的PHP文檔並不清楚我的需求。它給你使用的功能,但沒有詳細解釋它們在不同的場景。PDO和MySQL全文搜索
基本上,我有一個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 . '*');
非常感謝您的回答,並替代解決方案:) –
我無法重現你說的是這個「怪異」的行爲。 「反對(在布爾模式中)」適合我。你使用的是什麼MySQL版本? –
當然,仿真模式將被關閉並進行雙重檢查。 –