0

我正在为 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行,然后将该值应用于所有行。我需要它单独在每一行上执行。

4

3 回答 3

5

为什么在两个查询中做一个有什么问题

UPDATE users SET  gold = gold + 50;
于 2012-09-05T03:53:12.373 回答
1

mysql_query("更新 mmo_db1. usersSET gold= 金+50");

ps,mysql * =坏

于 2012-09-05T03:53:25.273 回答
1

为什么要先选择?如果你想给每个人额外的 50 金币,为什么不这样做:

UPDATE  `mmo_db1`.`users` SET  `gold` =  `gold`+ $newgold;
于 2012-09-05T03:53:26.130 回答