データベース操作の遅延問題
PHP コード
<!--
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 バイトを超えるコンテンツを送信する必要があります
ただし、記述方法は危険です
Once<スクリプト言語= 'JavaScript'>location.href='pmf_rkno_query.php'
が実行されます。これはユーザーが現在のプログラムの接続を終了するのと同等で、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."'");
……