开发者

Can't get SQL Update to work using PHP

开发者 https://www.devze.com 2023-03-30 11:27 出处:网络
I\'m trying to get php to update a MySQL table using UPDATE statement but it simply won\'t work. Here\'s the code I wrote:

I'm trying to get php to update a MySQL table using UPDATE statement but it simply won't work. Here's the code I wrote:

$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);
}

As you can see, I am basically trying to update the开发者_StackOverflow社区 SQL record to keep track of how many times a specific content ID was visited.

Thanks!


Use an alias in your SQL query (It is not mandatory, but it makes the query much more readable.)

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

And you can now access to your variable

$ntcounter['count']

So the result :

$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);
}


You don't really need two queries. You should just be able to update like this

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


You didn't close the single quote at the end of the update statement:

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

精彩评论

暂无评论...
验证码 换一张
取 消