数据库操作延时有关问题

WBOY
リリース: 2016-06-13 10:21:38
オリジナル
988 人が閲覧しました

数据库操作延时问题

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->        echo "<script language="JavaScript">alert('数据检测已完成!');</script>";        echo "<script language="JavaScript">location.href='pmf_rkno_query.php'</script>";        sleep(10);        mysql_query("delete from `".$p."` where rkno = '".$rkno."'");    
ログイン後にコピー


我的想法是返回对应页面后再进行数据库删除操作。现在代码的效果是等待10秒,删除数据,但是还是停留在当前页。请问哪里出了问题?

------解决方案--------------------
可能是服务器缓存了输出
flush(); // 清除缓存
sleep(10);
------解决方案--------------------
flush(); // 推出缓存
这是必要的,对于ie兼容浏览器还需发送累计256字节以上内容才会被执行,除非程序结束

不过你的这个写法存在风险
一旦
被执行,就相当于用户终止了当前程序的连接,而php默认会终止当前程序的执行,你的
 mysql_query("delete from `".$p."` where rkno = '".$rkno."'"); 
也就没有机会执行了
------解决方案--------------------
加上这些呢???另外不同浏览器是有差异的,,chrome就不一定行得通
ini_set('output_buffering','on');
ini_set('zlib.output_compression', 0);

echo "";
echo str_pad(" ", 1024);
ob_flush();
flush();
sleep(10);
mysql_query("delete from `".$p."` where rkno = '".$rkno."'"); 
……
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート