2013-12-03 38 views
-1

我想創建一個搜索引擎,並遇到一些問題。這是我的代碼:如何跨多個MySQL列進行搜索?

SELECT COUNT(*) as num FROM `offerta` WHERE `text` LIKE '%".$sea."%' AND `regione`='$re' 

現在它的工作。我想搜索幾個列並按類別篩選結果(regione)。

SELECT COUNT(*) as num FROM `offerta` WHERE `titolo` LIKE '%".$sea."%' OR `text` LIKE '%".$sea."%' OR `nome` LIKE '%".$sea."%' AND `regione`='$re' 

regione = '$re'是類別。

我想使用WHERE titolo LIKE '% 「$大海。」 %' 或text LIKE '% 「$大海。」 %' 或nome LIKE '% 「$大海。」 %' AND regione = '$ re'

它運作良好,直到AND。當我使用一次或和和,它的作品,但是當我使用幾個時間或和和它不起作用。

我試過MATCH和AGAINST,但同樣的錯誤不斷出現。

+0

可能的重複http://stackoverflow.com/questions/2514548/how-to-search-multiple-columns-in-mysql –

+0

@Sam - 該問題的答案與此場景不同。 – madebydavid

+0

@ user3062975 - 運行該代碼時是否出現錯誤?還是它返回錯誤的數據?請給我們更多的信息,以便我們能夠爲您提供幫助。 – madebydavid

回答

1

我解決我的問題:

SELECT COUNT(*)作爲NUM個來自offerta WHERE regione = '$重新' AND(titolo狀或text LIKE「%」 '%% 「$大海。」'。 $ sea。「%'OR nome LIKE'%」。$ sea。「%')

現在它運行良好。