我拥有一个图像托管网站,我使用 php 和 mysql 捕获 ImageView 。
我使用以下代码来计算观看次数。
include 'mysql.php';
$result = mysql_query("SELECT * FROM DB WHERE ID='$id'");
$row = mysql_fetch_array($result);
$views=$row['views'];
$query = "UPDATE DB SET views=$views+1 WHERE ID='$id'";
$result2 = mysql_query($query);
mysql_close($con);
views 是 mediumint(9) 类型的字段。
我注意到观看次数每天都在减少。谁能说出问题所在并提供解决方案。
谢谢。
最佳答案
您应该使用它来更新:
$query = "UPDATE DB SET views=views+1 WHERE ID='$id'";
如果一个页面需要很长时间才能执行,您可以让一个查询覆盖另一个。同样使用它,您可能甚至不需要运行第一个查询 - 除非您想要从中获取其他信息。
您收到错误的原因是一个脚本正在读取数据并获取值,然后更新它 - 基于它存储的值 - 但与此同时其他脚本可能正在更新该行。您可以通过使用事务来避免它,但这对于您正在做的事情来说似乎太过分了。
关于php - mysql View 减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12350439/