SQL查询中的PHP变量

时间:2015-03-11 21:33:09

标签: php sql mysqli

我在SQL查询中使用会话变量,每次调用时都会更新胜出。我查看了类似的问题,但他们使用的是mysql而不是mysqli。在mysqli查询中使用php变量的正确方法是什么? 这就是我的样子:

$sqlQuery = "UPDATE users SET wins=wins+1 WHERE username == $_SESSION['username']";}

2 个答案:

答案 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'])
)