[英]PHP MYSQL LIKE for match multiple word in description
我正在使用PHP編寫ajax搜索功能。 它工作正常,但過濾結果幾乎沒有問題,
我有如下產品說明
POWER CORD C13-C14 SVT 250V 10AMP GREEN JACKET 8 FEET
但是,當用戶搜索綠色的電源線時 ,不會顯示任何結果。 我認為這是因為上述詞語順序不同。
這是我的SQL代碼-$ qr是用戶搜索詞
SELECT
product_name,product_desc
FROM j25_virtuemart_products,j25_virtuemart_products_en_gb
WHERE
j25_virtuemart_products.virtuemart_product_id =j25_virtuemart_products_en_gb.virtuemart_product_id
AND j25_virtuemart_products.published=1
AND (product_name LIKE '%$qr' OR product_desc LIKE '%$qr
當用戶搜索綠色電源線時,我建議您使用POWER CORD C13-C14 SVT 250V 10AMP GREEN JACKET 8 FEET作為建議。 誰能告訴我如何編寫查詢以獲得此類結果。 謝謝
LIKE運算符將在這里沒有幫助。 您需要研究FULLTEXT搜索 。 如果您不願意使用MyISAM(確實有其缺點 ),則可以考慮使用Sphinx之類的替代方法。
您必須使用全文搜索。 在使用它之前,請確保檢查數據庫引擎是否支持FULL Text。 此外,您還必須為標題(如標題,說明)等字段建立索引,以支持全文。
你可以參考
另請注意:
mysqli
或PDO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.