2011-03-15 76 views
1

我只想在某些特定行之間進行查詢。 (查詢where word = title,但數據僅在第8行,第9行,第10行之間)。但是,我的代碼仍然會將所有結果都返回(它將打印第33行,第36行...)如何進行正確的查詢?謝謝。PHP MYSQL搜索特定行

$where = " field_1 = '$word' OR field_2 = '$word' OR field_3 = '$word' "; 
SELECT * FROM table WHERE $where AND (id='8' OR id='9' OR id='10'); 

回答

6

,具有較高的優先級比左右就需要大約$where括號:

SELECT * FROM table WHERE ($where) AND (id='8' OR id='9' OR id='10'); 

沒有它的計算結果爲括號:

SELECT * 
FROM table 
WHERE field_1 = '$word' OR 
     field_2 = '$word' OR 
     (field_3 = '$word' AND (id='8' OR id='9' OR id='10')) 
+0

right,'($ where)',這是一個正確的查詢。 – cj333 2011-03-15 18:18:11

0
$where = " field_1 = '$word' OR field_2 = '$word' OR field_3 = '$word' "; 
SELECT * FROM table WHERE $where AND (id='8' OR id='9' OR id='10') LIMIT 8,3; 

這應該抓住3點開頭的記錄與第8行。這是否工作?