我正在为MMORPG和管理员后端设计数据库。我需要一个功能,允许我将指定数量的游戏主要货币Gold
添加到数据库中的每个帐户。
这就是我所拥有的:
function massAddGold($gold_amount){
dbconnect();
$value=mysql_query("SELECT * from `mmo_db1`.`users`;");
while ($row=mysql_fetch_array($value)){
$currentgold=$row['gold'];
$newgold=$currentgold+$gold_amount;
mysql_query("UPDATE `mmo_db1`.`users` SET `gold` = \"$newgold\";");
}
dbclose();
}
其中mmo_db1
是数据库的名称。
当我执行命令massAddGold("50");
时,我检查数据库。它采用具有最高值Gold
的行,将50 gold
添加到该行,然后将该值应用于所有行。我需要它在每一行上单独执行。
答案 0 :(得分:5)
为什么在两个查询中有一个
的错误UPDATE users SET gold = gold + 50;
答案 1 :(得分:1)
mysql_query(“UPDATE mmo_db1
。users
SET gold
= gold + 50”);
ps,mysql * = bad
答案 2 :(得分:1)
为什么先选择?如果你想给每个人额外的50金币,为什么不这样做:
UPDATE `mmo_db1`.`users` SET `gold` = `gold`+ $newgold;