php - php mysqli更新表,数据相同返回0受影响的行

标签 php mysql mysqli

在MySQL数据库中,我有一个表名data。此表中有多个文件。
此时Field1具有test作为值。现在用户想要更新表,并将test放入值中。
我的查询失败了,您可以看到echo "Database updated"没有执行。
似乎受影响的行返回0。

$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 'test' WHERE `key` = ?")
$stmt->bind_param("s", $mykey);
$stmt->execute();

$nrows = $stmt->affected_rows;
if ($nrows== 1) {
echo "Database updated."
    }

我想知道如何设计这个查询才能正常工作。如果新值与现有值相同。
谢谢。

最佳答案

很久以前我也遇到过同样的情况。我做的只是先检查一下记录是否需要更新。另请参见thisthis accepted answer

关于php - php mysqli更新表,数据相同返回0受影响的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333988/

相关文章:

php - 不能在 mysqli_stmt 对象上使用 call_user_func_array

php - mysqli 访问被拒绝 (42000/1044) linux 权限?

php - apache - 我的 .htaccess 不仅适用于 1 个子域,还适用于其他子域

php - 更新和插入数组等

Mysql结果操作

php - 防止 Google 登录中的 SQL 注入(inject)

php - 使用 PHP 从 MariaDB 数据创建嵌套 JSON

PHP mysqli_fetch_array 选择最小值

javascript - 使用 li 标签垂直创建菜单列表

android - JSON - 登录表单