-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 个红宝石?我只有 12 岁,乖点...查看我的屏幕:https ://join.me/515-042-461

4

2 回答 2

1

因为你要加 10 到 10。

UPDATE users
  SET Rubies = Rubies + 10
  WHERE id = :sanitized_id
于 2012-07-25T05:41:04.480 回答
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 回答