<?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)), 0, 1024);
$math = substr(str_shuffle(str_repeat("1234567890", 6)), 0, 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中运行,但活动仍然存在。插入仍然继续执行。如何解决这个问题?谢谢。MYSQL关闭连接无法暂停插入活动
[**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 – h2ooooooo 2013-02-15 10:39:17
..说,你为什么试图插入'99,999,999,999'记录到数据库中?你的主要问题是,在stop命令中引用的'conn'与在另一个命令中启动的$ conn'不同,因为它们是两个不同的请求。你**可以**将句柄('$ conn')保存在一个'$ _SESSION'变量中,然后引用它。 – h2ooooooo 2013-02-15 10:40:17
PDO对我的情况有任何功能?感谢您的帮助 – user782104 2013-02-15 10:41:03