php - mysql View 减少

标签 php mysql image view

我拥有一个图像托管网站,我使用 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/

相关文章:

php - 根据行值输出自定义消息

php - 在 PHP 中关闭外部连接(例如 memcached、redis)是一个好习惯吗?

mysql - 在hadoop上使用sqoop import命令时出现错误

mysql - 无法在 jenkins 上创建 PoolableConnectionFactory

android - Android中的随机图像?

javascript - 基于URL查询的后台切换

image - 变换域

php - 替换Codeigniter分页中的get参数?

php - 部署生产 Laravel 5.2 应用程序的正确步骤是什么?

php - jquery 到 php 代码,然后到数据库