Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 MySQL没有返回任何错误,但是UPDATE命令没有更新任何内容_Php_Mysql_Sql - Fatal编程技术网

Php MySQL没有返回任何错误,但是UPDATE命令没有更新任何内容

Php MySQL没有返回任何错误,但是UPDATE命令没有更新任何内容,php,mysql,sql,Php,Mysql,Sql,下面是我的查询,它不会在PHP MYADMIN上返回任何错误,但不会更新任何内容。。知道为什么吗?我研究过,但我必须在一个查询中完成 UPDATE products_images SET image_sort = 1 WHERE products_id =6362 AND image_type ='products_video_xl_dynamic_2' AND image_type ='products_video_sm_dynamic_2' 你有 image_type ='products

下面是我的查询,它不会在PHP MYADMIN上返回任何错误,但不会更新任何内容。。知道为什么吗?我研究过,但我必须在一个查询中完成

UPDATE products_images SET image_sort = 1 WHERE products_id =6362 AND image_type ='products_video_xl_dynamic_2' AND image_type ='products_video_sm_dynamic_2'
你有

image_type ='products_video_xl_dynamic_2' AND image_type ='products_video_sm_dynamic_2'
在WHERE子句中,image_type不能同时是两个对象

也许你想要

(image_type ='products_video_xl_dynamic_2' OR image_type ='products_video_sm_dynamic_2')

要更新每个记录:xl或sm,请确保image\u type字符串的拼写和大小写正确

UPDATE products_images 
SET image_sort = 1 
WHERE products_id =6362 
AND image_type IN ('products_video_xl_dynamic_2', 'products_video_sm_dynamic_2')

您应该在自己的查询中的两个图像类型之间添加OR,它应该可以工作。上面的查询是MSSQL/SYBASE,但请尝试一下。

要回答标题问题,您应该注意更新。。如果匹配0个记录,则将不执行任何操作。克里斯托弗正确地认识到匹配是不可能的,这就是为什么它什么都不做。没有与所有WHERE条件匹配的行,因此不会更新任何行


但是没有错误,因为从MySQL的角度来看没有错误;您的逻辑中只有一个错误。

您确定有行要更新吗?您是否已使用SELECT进行检查?是,它们都在imagetype列中。您不能尝试选择products\u images,其中products\u id=6362和image\u type='products\u video\u xl\u dynamic\u 2'以及image\u type='products\u video\u sm\u dynamic\u 2'返回0行。可能您希望image\u type='products\u video\u xl\u dynamic\u 2'或image\u type='products\u video\u sm\u dynamic\u 2'更新每个记录是:xl或sm此处未说明的位是一个更新。。如果因为不可能匹配而匹配0条记录,则将无提示地执行任何操作。没有错误,因为从MySQL的角度来看没有错误;逻辑上有个错误。