我在SQL查询中使用会话变量,每次调用时都会更新胜出。我查看了类似的问题,但他们使用的是mysql而不是mysqli。在mysqli查询中使用php变量的正确方法是什么? 这就是我的样子:
$sqlQuery = "UPDATE users SET wins=wins+1 WHERE username == $_SESSION['username']";}
答案 0 :(得分:0)
生成的sql查询应如下所示:
UPDATE users SET wins=wins+1 WHERE username = 'user_name';
所以我们需要正确准备它:
$sql = sprintf(
"UPDATE users SET wins=wins+1 WHERE username = '%s';",
$_SESSION['username']
);
但请使用正确的数据库连接器(PDO,mysqli)并转义用户名。
答案 1 :(得分:0)
要走的路是mysqli_real_escape_string
。
假设您已经创建了这样的数据库连接:
$link = mysqli_connect($host, $user, $password, $dbname);
这就是你想要做的事情
$query = sprintf(
'UPDATE users SET wins=wins+1 WHERE username = "%s"',
mysqli_real_escape_string($link, $_SESSION['username'])
)