PHP MySql 查询在更新后显示旧值

标签 php mysql caching

我正在更新 sql 表中的值,然后打印该值,它仍然显示旧值。

<?
print_r(mysql_fetch_array(mysql_query("select visits from Orders")));
mysql_query("update Orders set visits=visits+1");
print_r(mysql_fetch_array(mysql_query("select visits from Orders")));
?>

它输出 1,然后再次输出 1。第二个值应该是 2。当我在 PhpMyAdmin 中 checkin 时它是 2 那么为什么它显示旧值?

求助!提前致谢。

问候, 迈克

编辑:

这是 OP 尝试的代码:

mysql_connect("localhost","mayankx_tt","111111");
mysql_select_db("mayankx_tt") or die(mysql_error()); 
print_r(mysql_fetch_array(mysql_query("select visits from Orders")));
mysql_query("update Orders set visits=visits+1");
print_r(mysql_fetch_array(mysql_query("select visits from Orders"))); 

他的输出:

Array ( [0] => 4 [visits] => 4 ) Array ( [0] => 4 [visits] => 4 )

最佳答案

检查 UPDATE 是否实际执行:

mysql_connect("localhost","mayankx_tt","111111");
mysql_select_db("mayankx_tt") or die(mysql_error());

# Checking PRE Value
print_r(mysql_fetch_array(mysql_query("select visits from Orders")));

# Attempting to Modify
if( !mysql_query("update Orders set visits=visits+1") ){
  echo 'Error Occurred: #'.mysql_errno().' '.mysql_error();
}else{
  echo 'UPDATE Processed OK';
}

# Check POST Value
print_r(mysql_fetch_array(mysql_query("select visits from Orders")));

运行它并让我们(我)知道它产生了什么输出。

关于PHP MySql 查询在更新后显示旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6160658/

相关文章:

php - 当数据匹配列中的数字范围时递增并显示数组

php - 用于从单个数据库中的多个表中进行选择的 SQL 查询

MySQL查询: multi level category on the same table

带有外部更新的 NHibernate 二级缓存

c# - 虚拟路径提供程序禁用缓存?

php - Windows:XAMPP vs WampServer vs EasyPHP vs 替代方案

php - 扩展 Laravel 5 核心功能

iphone - 如何使用cache.manifest更新缓存的iPhone Web应用程序上的文件

php - 替换大括号内字符串中的所有空格

php - Apache 和 Symfony date.timezone 错误