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] 删除。
我来说两句