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

なぜ 2 つのクエリで 1 つの問題を解決するのか

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

mysql_query("UPDATE 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 に答える