php - 我必须编写两条 SQL 语句才能更新一条记录,有更好的方法吗?

标签 php mysql sql database sql-update

我想更新表格:

$result=mysql_query("select balance from tablename where userid='$userid")or die(mysql_error());
$row=mysql_fetch_assoc($result);
$accountbalance=$row['balance'];
if($accountbalance>$cost)
{
$result=mysql_query("update tablename set balance-'$cost' where userid='$userid")or die(mysql_error());
}
else {
...
}

你看,我必须写两条mysql语句,有更好的方法吗?

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();

为什么 $count 是 0,尽管我认为它应该是 1?

最佳答案

UPDATE tablename SET balance=balance-$cost WHERE userid=$userid AND balance > $cost

关于php - 我必须编写两条 SQL 语句才能更新一条记录,有更好的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1940254/

相关文章:

php - 如何在 Laravel 5 中添加外部类

PHP 邮件 () 不起作用

php - 错误; #1071 - 指定的 key 太长;最大 key 长度为 1000 字节

python - 使用 cx_Oracle 包在 python 环境中执行的 Oracle SQL 查询中获取动态日期

c# - 限制插入 SQL Server 数据库的行数

MySQL 删除 "inactive"行

php - 蛋糕PHP : Multi-Model Comment system

php - 如何创建在 Windows 中运行 PHP 代码的快捷方式?

php - IPB4 - 组名存储在哪里?

mysql - 数据库 MYSQL Sum 和 Avg 自动化