无法使用PHP使SQL Update正常工作

时间:2011-08-22 17:50:39

标签: php mysql tracking sql-update

我正在尝试使用UPDATE语句来更新MySQL表,但它根本不起作用。这是我写的代码:

$add = "1";

$counter=mysql_query("SELECT * FROM frases WHERE id = '".$id."'");

while ($ntcounter=mysql_fetch_array($counter)) {    
    mysql_query("UPDATE frases SET count = '".$ntcounter[count]+$add."' WHERE id = '".$id);
}

正如您所看到的,我基本上是在尝试更新SQL记录以跟踪访问特定内容ID的次数。

谢谢!

3 个答案:

答案 0 :(得分:2)

在SQL查询中使用别名(它不是必需的,但它使查询更具可读性。

SELECT * as count FROM frases WHERE id = '".$id."'"

现在您可以访问您的变量

$ntcounter['count']

结果是:

$add = "1";

$id = (int)$id
$counter = mysql_query("SELECT * as count FROM frases WHERE id = '".$id."'");

while ($ntcounter = mysql_fetch_assoc($counter)) {    
    mysql_query("UPDATE frases SET count = '".($ntcounter['count']+$add)."' WHERE id = '".$id);
}

答案 1 :(得分:1)

您没有在更新声明的末尾关闭单引号:

mysql_query("UPDATE frases SET count = '".$ntcounter[count]+$add."' WHERE id = '".$id."'")

答案 2 :(得分:1)

您真的不需要两个查询。你应该能够像这样更新

mysql_query("UPDATE frases SET `count` = `count` + 1 WHERE id = ".$id);