gpt4 book ai didi

php - 为什么即使应该更新一条记录,mysql_affected_rows 也会返回 0

转载 作者:行者123 更新时间:2023-12-01 00:16:12 25 4
gpt4 key购买 nike

mysql_query("update users set balance=balance+'$pwbalance'-'$totalprice' where memberid='$memberid' and (balance+'$pwbalance'-'$totalprice')>=0")or die(mysql_error());
$count=mysql_affected_rows();

当我回显 $pwbalance 时,它​​是 40.00;当我回显 $totalprice 时,它​​是 40;所以应该有一个记录要更新。但是,当我回显 $count 时,我得到 0。有什么问题吗?

最佳答案

如果更新前后存在明显差异,MySQL 只会实际更新一行。你的计算基本上是:

SET balance = balance + 40 - 40

所以没有任何变化,MySQL 不会将其视为受影响的行。

旁注:不要在 sql 中用单引号引起来数值。单引号充当字符串分隔符。对于 mysql ,在这种情况下,它们会自动转换为数字,但无论如何这都是不好的做法。

关于php - 为什么即使应该更新一条记录,mysql_affected_rows 也会返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1940671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com