Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQLi SELECT语句格式错误或顺序错误_Php_Select_Mysqli - Fatal编程技术网

Php MYSQLi SELECT语句格式错误或顺序错误

Php MYSQLi SELECT语句格式错误或顺序错误,php,select,mysqli,Php,Select,Mysqli,使用下表“技术说明”: SELECT * FROM `technotes` WHERE `techgroup` LIKE '%dispatch%' OR `techgroup` LIKE '%30243542%' AND `expires` >= '2014-12-18' AND `viewed` NOT LIKE '%30243542%' 和,使用以下SQLi查询: SELECT * FROM `technotes` WHERE

使用下表“技术说明”:

SELECT *  
FROM 
  `technotes` 
WHERE 
  `techgroup` LIKE '%dispatch%' OR 
  `techgroup` LIKE '%30243542%' AND 
  `expires` >= '2014-12-18' AND 
  `viewed` NOT LIKE '%30243542%'

和,使用以下SQLi查询:

SELECT *  
FROM 
  `technotes` 
WHERE 
  `techgroup` LIKE '%dispatch%' OR 
  `techgroup` LIKE '%30243542%' AND 
  `expires` >= '2014-12-18' AND 
  `viewed` NOT LIKE '%30243542%'
预计会返回alertid:23324325和23546576(第一个也是最后一个)。但是我得到的是返回的记录1,3,4,5。我在操作顺序中遗漏了一些内容,或者SQLi select语句中的某些其他组件格式不正确,但不确定是什么。有人能告诉我遗漏了什么或需要更改什么,这样才能正常工作吗?

试试这个:

SELECT *  FROM 
  `technotes` 
WHERE 
(`techgroup` LIKE '%dispatch%' OR `techgroup` LIKE '%30243542%') 
AND `expires` >= '2014-12-18' 
AND (`viewed` NOT LIKE '%30243542%' OR ISNULL(`viewed`) )

“expires”是日期时间字段吗?作为第一步,我将在条件周围添加括号,以确保优先级正确。我不确定MySQL是否提供或和更高的优先级。“expires”字段类型设置为“date”,包含括号中的前2个或多个条件您正在使用
而不使用任何
()
来指定所需的解析顺序: