Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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 尝试使用“不存在”检查行是否存在但失败_Php_Mysql - Fatal编程技术网

Php 尝试使用“不存在”检查行是否存在但失败

Php 尝试使用“不存在”检查行是否存在但失败,php,mysql,Php,Mysql,我想知道,如果“产品”是电视,并且商标是好的,那么我想知道颜色是红色。然而,我也希望得到每一行的电视标记都不是‘好’的,无论颜色如何。因此,我使用notexists()检查TV行的标记是否没有“good”,但它失败了。我是否错误地使用了NOT EXISTS()或其他方式?预期输出是获得所有产品电视,颜色为红色,标记为良好,但任何产品电视标记也不是“良好”标记 根据您的文本描述,我认为您想要的SQL将与 select product from table where amount i

我想知道,如果“产品”是电视,并且商标是好的,那么我想知道颜色是红色。然而,我也希望得到每一行的电视标记都不是‘好’的,无论颜色如何。因此,我使用notexists()检查TV行的标记是否没有“good”,但它失败了。我是否错误地使用了NOT EXISTS()或其他方式?预期输出是获得所有产品电视,颜色为红色,标记为良好,但任何产品电视标记也不是“良好”标记


根据您的文本描述,我认为您想要的SQL将与

select
  product
from
  table
where
  amount in (%s, %s, %s) and
  product='tv' and
  ((mark='good' and color=%s) or mark!='good')
group by
  product   

你应该考虑改变你的查询,如下面的

SELECT product 
FROM table 
WHERE (product='tv' 
AND amount IN (%s, %s, %s) 
AND mark='good' 
AND color=%s )
OR NOT EXISTS 
(SELECT 1 FROM talble WHERE product='tv' 
AND amount IN (%s, %s, %s) AND mark = 'good') 
GROUP BY product

预期的输出是什么?我试着编辑你的代码,不知道为什么会有代码,然后是db模式,然后是
?>
。请重新格式化。您正在混合
而不使用任何
()
来强制执行命令。