无法更新mysql数据库中的特定用户

时间:2011-07-21 20:43:18

标签: mysql

我试图更新使用UPDATE mysql命令登录的特定用户,但是它会转到数据库本身的第一个用户,如果你可以帮助id欣赏它

编辑:我想增加用户拥有的“项目”的数量,但对于下面的代码,它只会转到数据库中的第一个用户

<?php
session_start();
        $dbhost = 'localhost';
        $dbuser = '';
        $dbpass = '';
        $dbname = '';
        $conn = mysql_connect($dbhost,$dbuser,$dbpass)
            or die ('Error connecting to mysql');
        mysql_select_db($dbname);
            $query = sprintf("UPDATE users SET item = item + 1 ",
        mysql_real_escape_string($_POST['item']));
            mysql_query($query);
        ?>

3 个答案:

答案 0 :(得分:1)

您的sprintf()来电有参数,但没有占位符:

$query = sprintf("UPDATE users SET item = item + 1 ",
      mysql_real_escape_string($_POST['item']));

假设名为INT的{​​{1}}列

,可能会出现以下情况:
item

更新

如果您只是尝试定位特定用户,则需要$query = sprintf("UPDATE users SET item = item + 1 WHERE item = %d ", mysql_real_escape_string($_POST['item'])); 中的该用户的ID或用户名,而不是$_POST。您需要为我们发布item的输出,以便了解您在帖子中收到的值。

假设字符串为var_dump($_POST),请使用:

username

答案 1 :(得分:0)

你需要某种where子句。指定您想要使用额外条件实际更新的用户。

答案 2 :(得分:0)

您需要知道要更新的用户......

$query = sprintf("UPDATE users SET item = item + 1 WHERE userId="+ $userId,

或类似的......