我找我的網站關鍵字搜索,並有一點困難MySQL的關鍵字搜索全文
$q = "SELECT * from post WHERE post_k like '%".$_GET['s']."%'";
網站網址搜索website.com/?s=keyword
我我沒有得到全文搜索。例如,如果我搜索知更鳥,我可以從蝙蝠俠得到結果,因爲它們都有n的單詞。我正在尋找一個搜索,如果我輸入知更鳥,我只會從羅賓獲得結果。
感謝
我找我的網站關鍵字搜索,並有一點困難MySQL的關鍵字搜索全文
$q = "SELECT * from post WHERE post_k like '%".$_GET['s']."%'";
網站網址搜索website.com/?s=keyword
我我沒有得到全文搜索。例如,如果我搜索知更鳥,我可以從蝙蝠俠得到結果,因爲它們都有n的單詞。我正在尋找一個搜索,如果我輸入知更鳥,我只會從羅賓獲得結果。
感謝
您需要使用MATCH AGAINST
與FULLTEXT INDEX
。
CREATE FULLTEXT INDEX search_index ON post (post_k);
然後將查詢會更喜歡(使用預處理語句與庫MySQLi例):
$query = $mysqli->prepare("SELECT * FROM post WHERE MATCH(post_k) AGAINST(?)");
$query->bind_param('s', $_GET['s']);
我將如何完全輸入? – user1616846
所以是這是不工作:( – user1616846
更多的信息在這裏:http://php.net/manual/en/mysqli.quickstart.prepared-statements.php –
我可能與正則表達式來重複自己。但那會做這項工作。 – bonCodigo
'website.com?s=ROBERT'; DROP TABLE students' –
非常重要。請閱讀:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet –