-2

メンバーがルビーを通貨として入手できるクールなシステムを作っています。

彼らがログインすると、私のコードは次のようになります...

$rubies = $row['Rubies'];

        require("scripts/functions.php");

        check($lastdate);

        if ($outcome == 1){
        $outcome2 = "10";
            mysql_query("UPDATE users SET Rubies=".$outcome2."+10 WHERE id = '".$dbid."'");
            }

そのための機能...

function check($lastdate){

    if ($dbuser == $lastdate){
        $outcome = 0;
        }
        else
            $outcome = 1;

}

データベースに 10 個の Ruby が追加されないのはなぜですか? 私はまだ 12 歳です。よろしくお願いします。私の画面をご覧ください: https://join.me/515-042-461

4

2 に答える 2

1

あなたの関数は何も返していません。現在、変数を設定するだけです$outcome。次のように を追加しreturn $outcome;ます。

function check($lastdate){
    if ($dbuser == $lastdate){
        $outcome = 0;
    } else {
        $outcome = 1;
    }
    return $outcome;
}

他にも考慮すべき点がいくつかあります。変数を SQL ステートメントに入れる前にサニタイズしてください。個人的には、mysqli または PDO を DB コネクタとして使用することをお勧めします。

この拡張機能の使用はお勧めできません。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。

そして$dbuser、この関数で何とか利用できることを確認してください。

于 2012-07-25T05:45:06.630 に答える
1

10 に 10 を足しているからです。

UPDATE users
  SET Rubies = Rubies + 10
  WHERE id = :sanitized_id
于 2012-07-25T05:41:04.480 に答える