我试图为游戏制作商店机制,但只要我输入UPDATE语句,动作代码就什么都不做。
谁能看到问题是什么?可能是一个非常愚蠢的人。
以下代码:
<?php
include('include/configdb.php');
$user_name = $_SESSION['user_name'];
$safegun = mysqli_real_escape_string($mysqli, $_GET['gun']);
if($safegun == 0){
echo 'Please specify an amount';
} elseif($safegun >= 1){
//Db thingy`s
$mysqli->query("UPDATE user SET money= ".$safegun." * 300 gun = gun+"$safegun" WHERE username = '".$user_name."'");
sleep(30);
header('location:shop.php');
}
任何帮助都会被多得多。 亲切的问候, 迈克尔
答案 0 :(得分:1)
您的UPDATE语法错误,如果您要更新多个列,则应使用逗号分隔它们。所以它应该是:
$mysqli->query("UPDATE user SET money= ".$safegun." * 300, gun = gun+"$safegun" WHERE username = '".$user_name."'");
参考:Manual
请注意,我不知道您如何声明$mysqli
连接。如果您使用了仅3参数的构造函数(请参阅docs:http://php.net/manual/en/mysqli.construct.php),则应在MySQL命令中添加db_name
:
$mysqli->query("UPDATE db_name.user SET money= ".$safegun." * 300, gun = gun+"$safegun" WHERE username = '".$user_name."'");
答案 1 :(得分:0)
请看这个: PHP Manual
它说它除了1个字符串。不是2,将其从您的
中删除 $safegun = mysqli_real_escape_string($mysqli, $_GET['gun']);
至:
$safegun = mysqli_real_escape_string($_GET['gun']);
和
$mysqli->query("UPDATE user SET money= ".$safegun." * 300 gun = gun+"$safegun" WHERE username = '".$user_name."'");
要:
$mysqli->query("UPDATE user SET money= '$safegun' * 300, gun = gun+'$safegun' WHERE username = '$user_name' ");
编辑。