增加一个mysql计数字段

Mat*_*iby 2 php mysql

我在表中有一个计数字段,我需要递增,这就是我所拥有的.

$click_tracker_row = mysql_fetch_array($result);
$current_count = $click_tracker_row['count'];
$new_count = $current_count + 1;
$query_wiki ="UPDATE click_tracker  SET count = '{$new_count}' WHERE click_tracker_id = '{$click_tracker_row['click_tracker_id']}' LIMIT 1";                 
$result = mysql_query($query) ;
Run Code Online (Sandbox Code Playgroud)

但它永远不会改变....有没有更好的方法来做到这一点,为什么这不工作计数是一个整数字段

jwu*_*ler 6

您应该只使用SQL更新此计数器并使用PHP的mysql_real_escape_string()函数来防止SQL注入:

$query_wiki ="UPDATE click_tracker SET count = count + 1 WHERE click_tracker_id = '".mysql_real_escape_string($click_tracker_row['click_tracker_id'])."' LIMIT 1";
Run Code Online (Sandbox Code Playgroud)

此外,你的mysql_query()-call中有一个拼写错误.你需要传递$query_wiki给它.

  • @RobertPitt:永远.它取两者,基于关联和数字.因此最好将它与`MYSQL_ASSOC`一起使用,因为它默认为`MYSQL_BOTH`或者只使用`mysql_fetch_assoc`,因为这是你想要的,因为没有指定基本上使结果加倍.请参阅http://www.php.net/mysql_fetch_array了解它返回的内容及其用法. (2认同)