Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在更新期间递增SQL列_Php_Sql_Sql Server - Fatal编程技术网

Php 在更新期间递增SQL列

Php 在更新期间递增SQL列,php,sql,sql-server,Php,Sql,Sql Server,“我的用户帐户”表包含我创建的名为“捐赠硬币”的列 每当我执行更新查询以设置一个新值时,它只会删除旧值并重写为捐赠过程中定义的金额 如果x有10枚捐赠硬币,并再次捐赠15枚,他的捐赠硬币将是15枚而不是25枚 字段类型为INT,并启用了null 这是密码 connectdb($CONFIG['dbdbname'], $CONFIG['dbaddress'], $CONFIG['dbuser'], $CONFIG['dbpass']); $query = mssql_query("SELECT

“我的用户帐户”表包含我创建的名为“捐赠硬币”的列

每当我执行更新查询以设置一个新值时,它只会删除旧值并重写为捐赠过程中定义的金额

如果x有10枚捐赠硬币,并再次捐赠15枚,他的捐赠硬币将是15枚而不是25枚

字段类型为INT,并启用了null

这是密码

connectdb($CONFIG['dbdbname'], $CONFIG['dbaddress'], $CONFIG['dbuser'], $CONFIG['dbpass']);

$query = mssql_query("SELECT * FROM user_account WHERE account = '".$account_username."'");
$row10 = mssql_fetch_array($query);

$old_coins = $row10['donation_coins'];
$transered_coins = $coin_quanity_coin;
$new_coins = $old_coins - $transered_coins;

//mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = '".$new_coins."' WHERE account = '".$account_username."'");
mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = donation_coins - ".$coin_quanity_coin." WHERE account = '".$account_username."'");
像这样做

update your_table
set x = x + 15
where id = :someId
像这样做

update your_table
set x = x + 15
where id = :someId

如果>SQL Server 2005,另一种方法

update user_account
set donation_coins += 15
where id = @someid

如果>SQL Server 2005,另一种方法

update user_account
set donation_coins += 15
where id = @someid

您只需为更新声明提供新硬币

mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = ".$new_coins." WHERE account = '".$account_username."'");
您只是在执行sql之前计算了新的金额

干杯,
马丁

您只需为更新声明提供新硬币即可

mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = ".$new_coins." WHERE account = '".$account_username."'");
您只是在执行sql之前计算了新的金额

干杯,
Martin

也许你应该分享你的查询/代码。是的,对不起,更新的问题。阅读上面的代码,我在更新中看到了。。设置捐赠硬币=捐赠硬币减去$coin\u Quantity\u硬币。您从何处获得$coin\u Quantity\u coin?也许您应该分享您的查询/代码。是的,对不起,更新的问题。阅读上面的代码,我在更新中看到。。设置捐赠硬币=捐赠硬币减去$coin\u Quantity\u硬币。你从哪里得到的$coin\u Quantity\u coin是什么?