我有一个让我感到厌烦的问题。 我有一个非常简单的表(MyISAM),其中我有一个字段“count(INT)(11)”
这只是一个计数器,每次查看一个产品/项目时都会递增。 问题是查询递增2而不是1。
IE中。 实际值= 10
比我跑: mysql_query(“update table_test set count = count + 1 where id = 1”);
字段计数值变为12而不是11。
我想也许我的脚本运行了2x查询,然后我用这行代码完成了一个干净的文件:
$con = mysql_connect("localhot","user","pass");
mysql_select_db("database");
mysql_query("update table_test set count = count+1 where id = 1");
并且在文件中没有更多..它仍然添加2个insted 1。 但是如果我复制这个查询并使用Phpmyadmin运行它就可以了。
有没有想过会发生什么?
非常感谢 孩子问候 Tarsis Florencio
这是我正在使用的完整代码:
include 'includes/constants.php'; //just db_user, db_pass and connection
include 'includes/connect.php';
//here i select the actual count value
$result = mysql_query("select count from pictures where id = 6909") or die (mysql_error()." - [select count from pictures where id = 6909]");
$row = mysql_fetch_array($result);
$aux = (int)$row['viewed'] + 1; // increment
mysql_query("UPDATE pictures SET viewed = {$aux} WHERE id = 6909");
我也尝试过:
mysql_query("UPDATE pictures SET viewed = viewed+1 WHERE id = 6909");
如果我使用这样的查询运行文件: 更新图片SET已查看= 15 WHERE id = 6909
其中我指定要更新的值,有效。
答案 0 :(得分:0)
如果你在phpMyAdmin中包含相同的查询并且它正在运行,那么你的查询就没有问题了,你能分享你从中调用查询的代码吗?