第二个SQL语句没有优先权

时间:2016-08-05 13:38:07

标签: php mysql sql

我正在尝试添加一名玩家以及给他一些统计数据。

但问题是1.不添加统计数据,2。我需要先添加游戏玩家才能让游戏玩家返回。

    $sqlPlayer = "INSERT INTO players (`gender`, `username`, `email`, `password`) VALUES('$gender','$username','$email','$password')";
    echo $sqlPlayer."</br>";

    if ($db->query($sqlPlayer))
    {
        echo "Player added. </br>";

        $GamerId = $db -> lastInsertId();
        echo "Gamer id added:".$GamerId." </br>";

        $_SESSION['GamerId'] = $GamerId;
        echo "Gamer session added:".$_SESSION['GamerId']." </br>";

        $sqlStats = "INSERT INTO stats (`GamerId`,`Health`,`Stamina`,`Food`,`Coins`,`SuperCoin`) VALUES(`$GamerId`,`100`,`250`,`4`,`500`,`0`)";
        echo $sqlStats."</br>";

        if ($db->query($sqlStats))
        {
            echo "Stats for player added.</br>";
            return true;
        }
    }
    else
    {
        return false;
    }

如上所示,我添加了一些回声,看看哪些有效,哪些无法直观了解发生的事情。

到目前为止,我总是得到:

INSERT INTO players (`gender`, `username`, `email`, `password`) VALUES('*gender*','*username*','*email*','*password*')

Player added.

Gamer id added:25 

Gamer session added:25

INSERT INTO stats (`GamerId`,`Health`,`Stamina`,`Food`,`Coins`,`SuperCoin`) VALUES(`7`,`100`,`250`,`4`,`500`,`0`)

HealthStaminaFoodCoinsSuperCoin在数据库中有标准值,因此我也尝试过:< / p>

INSERT INTO stats (`GamerId`,`Health`,`Stamina`,`Food`,`Coins`,`SuperCoin`) VALUES(`25`,` `,` `,` `,` `,` `)

INSERT INTO stats (`GamerId`) VALUES(`25`)

1 个答案:

答案 0 :(得分:2)

正如@Saty指出的那样,.style子句包含反引号而不是撇号。所以,你可以这样做:

VALUES

根据您的数据库架构,使用数字字段的数字也可能很有用。即:

    $sqlStats = "INSERT INTO stats (`GamerId`,`Health`,`Stamina`,`Food`,`Coins`,`SuperCoin`) VALUES('$GamerId','100','250','4','500','0')";
                                                                                                    ^^^      ^^^