插入php代码后显示不出内容,这个代码为什么有时显示不出来刚才插入的内容?...

有时提交后能显示刚才插入的数据有时提交后显示不出来刚才插入的数据 等再插入一条时就把刚才没有显示的一块都显示出来了 我试了很多次 没有什么规律 这是什么原因呢 ajax的缓存还是什么?怎么解决呢?

提交页面

prepare("select id,txt from ajax");

$stmt->execute();

$res=$stmt->fetchall(PDO::FETCH_ASSOC);

foreach($res as $v)

{

echo $v['txt'];

}

?>

提交

插入页面

prepare("insert into ajax(txt)values(?)");

$stmt->execute(array($id));

?>

回复内容:

有时提交后能显示刚才插入的数据有时提交后显示不出来刚才插入的数据 等再插入一条时就把刚才没有显示的一块都显示出来了 我试了很多次 没有什么规律 这是什么原因呢 ajax的缓存还是什么?怎么解决呢?

提交页面

prepare("select id,txt from ajax");

$stmt->execute();

$res=$stmt->fetchall(PDO::FETCH_ASSOC);

foreach($res as $v)

{

echo $v['txt'];

}

?>

提交

插入页面

prepare("insert into ajax(txt)values(?)");

$stmt->execute(array($id));

?>

谢邀!

可能问题有两个

1、浏览器缓存,防止缓存的方式是window.location.reload(); 这一句改成location.href=当前页面的URL + "?" + (new Date).getTime()

2、是本地服务器,页面的延时约等于数据库更新的速度。

就是说,页面刷新时候的select执行的时候,insert的数据还不一定执行完。虽说是成功了,但是能select到还是有个延时的,虽然不大,但是页面刷新延时也不大,因此不一定会select到刚刚插入的数据。因此有时候会看到新插入的数据,有时候看不到。可以等个几秒钟再刷新。

测试的方法就是“插入页面”执行完insert之后,立即执行select看看输出什么。提交页面可以改为

提交

P.S.

foreach($res as $v)

{

echo $v['txt'];

}

严格来说,这个输出应该写在BODY里面

哈哈,我也遇难到了

是这个刷新当前页面的方法不对吗

可以用节点调试一下,看看是哪里出了错误。可以用exit的方法来停止后续代码的执行来调试。

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值