我试图更新使用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);
?>
答案 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,
或类似的......