有时我需要知道MySQL是否找到了该记录。我并不是想知道是否有受影响的行,只是想知道。
$db = database_system::connect();
$query = "UPDATE member SET username=?,password=? WHERE id=?";
$stmt = $db->prepare($query);
$stmt->bind_param("ssi",$this->username,$this->password,$this->id);
$stmt->execute();
$stmt->store_result();
if(!$stmt->affected_rows) throw new Exception("something about");
$stmt->close();
例如,如果没有受影响的记录,上面的 php 代码将抛出异常,但我想在没有这样的用户(具有该 ID)时抛出异常。
最佳答案
您需要在单独的查询中检查它。如果详细信息也未更改,则受影响的行数也可能返回零。 (即使用与之前相同的用户名和密码更新有效的用户 ID)
因此,最好首先为用户运行单独的选择。
关于php - 如何知道MySQL更新命令是否找到了记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049457/