2011-08-16 89 views
1

我有这个声明,当表“用户”已经有数据时调用向表“用户”插入数据。每次我加载这个脚本时,我都需要更新用户的数量。我的更新声明不起作用。mysql更新声明

任何线索?没有更新发生,旧号码仍然存在。

$query = sprintf("INSERT INTO users VALUES ('%s','%s',%s)", 
       mysql_real_escape_string($user['username']), 
       mysql_real_escape_string($user['name']), 
       mysql_real_escape_string($user['countusers']), 
      $res = mysql_query($query); 
      $query = "UPDATE users (username, name, countuser) VALUES ('$username',  '$name', '$countuser')"; 
      $res = mysql_query($query); 
+0

这看起来并不像Perl的... – ceejayoz

回答

1

INSERT ON DUPLICATE KEY UPDATE应该做你在找什么,如果username是主要或唯一键。有关manual的更多信息。

0

我看不到你在哪里检查用户是否已经存在。

此外,在插入查询使用:

$user['username'], $user['name'] and $user['countuser']; 

但在更新查询你这样做:

$username, $name and $countuser