当值未更改时,MySQL在更新时不影响行

免费芽

MySQL与PHP,尝试更新一行:

$dbQuery = 'UPDATE UserTable SET Age=25 WHERE Id=3';
$result = mysqli_query($dbLink, $dbQuery);
if ($result === FALSE) {
  // Take care of error
}
else {
  $numAffectedRows = mysqli_affected_rows($dbLink);
}

在两种不同的情况下,我得到零$ numAffectedRows
1.当没有用户行的Id = 3时
2.当有用户行的Id = 3时,但年龄已经在25岁之前

有什么办法可以区分这两种情况吗?(除了之前读取行并在更新之前手动检查该值)

雨果

根据mysql文档,可以在使用mysql_real_connect进行连接时通过传递MYSQLI_CLIENT_FOUND_ROWS标志来更改受影响的行的行为

在这种情况下,mysql_affected_rows返回与WHERE条件匹配的行数,而不是更新的行数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章