mysql#受影响的行没有提供信息

时间:2017-03-27 07:36:37

标签: php mysqli

如果没有符合条件的行,则MySQL Update命令将报告受影响的零行,或者实际上没有更改匹配的行。

用户想要编辑他们的个人资料,以便我在数据库中查询行f = open("test.txt", "r") word = "man" for line in f: if not word in line: print line ,并在文本字段中显示包含每个列值的表单供他编辑。

在提交时,我执行更新命令并检查"WHERE UserID='$userid'"期待mysqli_affected_rows成功和1失败。如果他实际上没有改变任何东西,它会回来0,我会得到错误的错误报告。

我可以想到几种避免这种情况的繁琐方法,但我希望有人有一个简单的解决方案吗?

2 个答案:

答案 0 :(得分:1)

返回零影响的行实际上不是错误 - 当实际的SQL查询仍然成功时,许多事情都不会产生任何影响。当mysqli_affected_rows报告实际错误时,它将返回-1,而不是0。

此外,如果要捕获实际错误,可能需要使用mysqli_errno或类似命令 - 尤其是在mysqli_affected_rows返回-1之后。

我建议你告诉用户"好的" /"谢谢你"或类似的,只有在发生实际错误时才通知。

答案 1 :(得分:0)

这很简单。

只需摆脱这种无用的检查,只需告诉用户他的数据已成功更新。