如果没有符合条件的行,则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
,我会得到错误的错误报告。
我可以想到几种避免这种情况的繁琐方法,但我希望有人有一个简单的解决方案吗?
答案 0 :(得分:1)
返回零影响的行实际上不是错误 - 当实际的SQL查询仍然成功时,许多事情都不会产生任何影响。当mysqli_affected_rows报告实际错误时,它将返回-1,而不是0。
此外,如果要捕获实际错误,可能需要使用mysqli_errno或类似命令 - 尤其是在mysqli_affected_rows返回-1之后。
我建议你告诉用户"好的" /"谢谢你"或类似的,只有在发生实际错误时才通知。
答案 1 :(得分:0)
这很简单。
只需摆脱这种无用的检查,只需告诉用户他的数据已成功更新。