2015-09-13 332 views
1

我有一個輸入字段,用於搜索數據庫中的關鍵字。說汽車上市的標題是「豐田衝浪1990年SSR-X」,我想能夠搜索像「豐田1990年」,我怎麼能做到這一點?如果我搜索「豐田衝浪」或「衝浪1990」,它的作品。PHP MYSQL搜索關鍵字

$query = "SELECT * FROM cars WHERE title LIKE '%" . $search_keywords . "%'"; 
+1

查看全文搜索 –

+0

那麼如果year,make,model等是該表中的列(這對於稱爲cars的表格是有意義的),那麼您可以動態構建您的where子句,如下所示:'WHERE make ='Toyota 'AND AND model ='Surf'' or'WHERE model ='surf'AND year ='1990'' – Terminus

+0

注意:您的代碼易受[SQL注入](http://stackoverflow.com/q/601300/3440545) 。 [始終清理數據庫輸入](http://xkcd.com/327/) – AbcAeffchen

回答

3

$查詢= 「SELECT * FROM汽車WHERE標題LIKE「%」。 $ search_keywords。 「%'」;

該代碼在MySQL中使用,所以它與PHP的主要編碼沒有任何關係。

嘗試使用preg_match功能代替。 下面是一個例子:

preg_match("KEYWORDS", $variable) 

而且你可以添加一個如果聲明。如下所示:

if(preg_match("KEYWORDS", $variable)) 

我希望我可以給你解決方案,你正在請求。