我正在尝试使用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的次数。
谢谢!
答案 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);