我使用PHP的mysqli做一個非常簡單的搜索操作mysqli的搜索,在我的數據庫存在,我要搜索公司名稱字段,這是我使用PHP:從數據庫
SELECT * FROM directory WHERE title LIKE '$sq%'
稱號是我通過$_POST
休息查詢得到我工作的罰款,但有一個問題,如果公司名稱是
公司名稱,如果我輸入的名字不顯示的搜索結果,但只顯示名字,我如何解決這個問題需要你的幫助
我使用PHP的mysqli做一個非常簡單的搜索操作mysqli的搜索,在我的數據庫存在,我要搜索公司名稱字段,這是我使用PHP:從數據庫
SELECT * FROM directory WHERE title LIKE '$sq%'
稱號是我通過$_POST
休息查詢得到我工作的罰款,但有一個問題,如果公司名稱是
公司名稱,如果我輸入的名字不顯示的搜索結果,但只顯示名字,我如何解決這個問題需要你的幫助
您需要將查詢的前端作爲通配符。 %
意味着左側和右側允許其他任何東西。
根據您目前的查詢:
SELECT * FROM directory WHERE title LIKE '$sq%'
您需要具體字詞的標題開始。請嘗試:
SELECT * FROM directory WHERE title LIKE '%$sq%'
匹配搜索項之前的任何內容並繼續處理它。
這應該是parameterized還有:
SELECT * FROM directory WHERE title LIKE ?
然後綁定'%' . $sq . '%'
。
更多關於通配符:http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html
簡單的例子:
'chri%'
將匹配chris
,chrissss
,christopher
,將不匹配kris
。
%ris%
將匹配chris
,chrissss
,christopher
,kris
。
%ris
將匹配chris
和kris
。
@Sikander改進,OFC你也可以使用OR運算符在哪裏例如。如%a%或標題如Aa%的標題,如果你需要的話。 – daremachine
@daremachine'%a%'可以匹配任何「像Aa%'匹配的東西。 – chris85
你是對的,但我的觀點是「my- $ var%」或「$ var%」 – daremachine
你可以顯示你的代碼的一部分,或只是闡述了這個問題? –
你能重新解釋你的問題嗎? – daremachine
目前還不清楚你在問什麼。您應該使用準備好的語句。 – chris85