2011-03-15 79 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行。这是否工作?