脚本宝典收集整理的这篇文章主要介绍了php – MYSQL close connect无法暂停insert活动,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP header('Content-tyPE: text/htML; charset=utf8'); $dbhost = '192.168.1.23'; $dbuser = 'demouser01'; $dbpass = 'demo*PW'; $dbname = 'testdb1'; $conn = MysqL_connect($dbhost,$dbuser,$dbpass) or die('Error wITh MysqL connection'); MysqL_select_db($dbname); MysqL_query("SET names 'utf8'"); MysqL_query("SET CHARACTER_SET_CLIENT='utf8'"); MysqL_query("SET CHARACTER_SET_RESULTS='utf8'"); if(isset($_POST['start'])) { $chi = 'chiiiii'; $id = 1; for ($i = 1; $i <= 99999999999; $i++) { $eng = substr(str_shuffle(str_repeat("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",5)),1024); $math = substr(str_shuffle(str_repeat("1234567890",6)),16); $sql = "INSERT INTO test_tb (id,chi,eng,num) VALUES (".$id.",'".$chi."','".$eng."',".$math.")"; $result = MysqL_query($sql) or die('MysqL query error'); $id++; } $id = 0; sleep(60); MysqL_close($conn); } else if(isset($_POST['stop'])) { MysqL_close($conn); } ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="post"> <input type="submit" name="start" value="Start Insert"> <input type="submit" name="stop" value="Stop Insert"> </form>
网站中有两个按钮,插入以重复插入记录,并停止插入.但是,我尝试使用MysqL关闭连接,它将在PHP中停止运行,但活动仍然存在.插入仍然保持执行.如何解决问题?谢谢.
首先添加这一行:
if ( isset ($_POST['start']) ) { $_SESSION['continue'] = true;
然后用while替换你的for语句(看起来你不关心itterations的数量,如果是这样你可以改变这种行为):
for ($i = 1; $i <= 99999999999; $i++) {
用…来代替:
while ( $_SESSION['continue'] )
而不是关闭连接以停止插入执行此操作:
MysqL_close ($con)
将包括:
$_SESSION['continue'] = false;
注意:不要忘记在脚本开头调用session_start().
就这样.
我假设您想要停止同一会话中的页面,如果不是这种情况,您可以使用ACP ore SHM.例如:
更换:
$_SESSION['continue'] = true
有:
apc_Store( 'continue',true );
和
while ( $_SESSION['continue'] )
有:
while ( acp_fetch ('continue') )
和
$_SESSION['continue'] = false;
有:
apc_store( 'continue',false );
完成!
以上是脚本宝典为你收集整理的php – MYSQL close connect无法暂停insert活动全部内容,希望文章能够帮你解决php – MYSQL close connect无法暂停insert活动所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。