我正在更新 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/