echo mysqli_query($con, "UPDATE stuff SET fieldd = 2 WHERE bla = 7");
当1
7
时,它会返回bla
但是当bla中的1
不存在时,它也会返回7
,为什么????有没有办法找出更新是否成功/如果此行存在而没有检查此行是否存在以前的额外查询?
答案 0 :(得分:0)
一种方法使用变量:
SET @found = 0;
UPDATE stuff
SET fieldd = if(@found := 1, 2, 2)
WHERE bla = 7;
SELECT @found;
更正式的方法是使用mysql_affected_rows()
(请参阅here)。但是,默认情况下,这仅显示行实际是否已更改。