有什么方法可以将这两个查询语句组合起来吗


Is there any way I can combine these two query statements?

我做了一个非常简单的视图计数器。最终,我将转换为cronjob视图计数器/更新程序,但现在我只会在每次刷新页面时使用mysql更新查询。我想知道是否有任何方法可以将这两个语句合并为一个语句,以减少处理。

PHP:

$query=mysql_query("SELECT * FROM questions WHERE id='$q'");  //string is escaped (not shown)
while ($row=mysql_fetch_assoc($query)){
    $views=$row['views']+1;
}
mysql_query("UPDATE questions SET views='$views' WHERE id='$q'");

此外,如果你能指出潜在的安全问题(如果你注意到的话),那将非常有帮助。感谢

为什么不只是:

mysql_query("UPDATE questions SET views=views+1 WHERE id='$q'");

这将使您的浏览量增加1。

我认为您希望每次都更新视图,并使用值1递增。你可以直接这样做,而无需选择:

mysql_query("UPDATE questions SET views=views+1 WHERE id='$q'");

这将增加您的视图。

希望这有帮助:)