所以我对编码很新,并且刚刚开始了一个有趣的项目。 我尝试建立一个RPG游戏,我已经到了玩家可以战斗并受到伤害的程度。所以我想补充被动的健康再生。
所以我认为我会使用一个魔方每10分钟请一个php文件并用+10更新所有玩家HP。
我对MySQL非常糟糕的知识所得到的是;
<?php
/*
* hp_reg.php, auto updater +10hp to players.
*/
//DATABAS CONNECTION
$dbserver="my";
$dbusername ="db";
$dbpassword ="conection";
$db ="information";
//CREATE CONNECTION
$conn = new mysqli($dbserver, $dbusername, $dbpassword, $db);
$query = "SELECT health FROM users";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($query);
$newhp = $result + 10;
$sql = "INSERT INTO users(health) VALUES ($newhp)";
显然根本不起作用!
有关改变什么以使其发挥作用的任何提示?
所有指针都非常受欢迎。
答案 0 :(得分:1)
要将所有用户的health
列增加10,您可以执行以下查询:
UPDATE users SET health = health + 10
答案 1 :(得分:1)
$sql = "UPDATE users SET health = health + 10";
更新代码
<?php
/*
* hp_reg.php, auto updater +10hp to players.
*/
//DATABAS CONNECTION
$dbserver="my";
$dbusername ="db";
$dbpassword ="conection";
$db ="information";
//CREATE CONNECTION
$conn = new mysqli($dbserver, $dbusername, $dbpassword, $db);
$sql = "UPDATE users SET health = health + 10";
$result = mysqli_query($conn, $sql);
答案 2 :(得分:0)
假设:
health
; userID
的形式存储在您的数据库中(如果没有,请使用正确的字段名称进行更改); 你必须以这种方式尝试:
$query = "SELECT health FROM users WHERE userID='$userID'";
$result = mysqli_query( $conn, $query );
$row = mysqli_fetch_assoc( $query );
$newhp = $row['health'] + 10;
$query = "UPDATE users SET health='$newhp' WHERE userID='$userID'";
$result = mysqli_query( $conn, $query );
最后,请查看how preventSQL-injection in PHP和how check if your result is empty