最近写个程序的时候,发现个问题
在某些服务器上,同一个用户访问网页的时候,如果一个页面的Mysql没有执行完毕,则该用户打不开其他网页比如下边这个小代码:$db = new mysql();
for ($i = 1 ; $i < 100 ; $i++){
echo $i;
$sql = "insert into test (test,test2) value ('".$i."','aaaaaaaaaaaaaaaaaa')";
$result = $db->query($sql) or die(mysql_error());
sleep(1);
}
我运行这个网页,然后其他网页中如果有查询mysql的,就卡死,
直到这个网页全部执行完毕,其他网页才开始查询
不过我也发现,只有执行这个页面的用户打不开其他网页,其他的用户是可以正常打开的
这个是服务器mysql的配置问题吗?
或者说,这个问题有办法解决吗

解决方案 »

  1.   

    我刚才又研究了下,发现也可能是这个问题:
    多个页面调用一个包含页面中的函数或者类时,总是等一个页面的这个函数执行完毕之后,其他页面才会执行
    这是什么原理啊,例子function test(){
    for ($i = 0 ; $i<10 ; $i++){
    echo date('H:i:s')."<br>";
    sleep(1);
    }
    }把这段代码保存为一个文件,然后 a.php 和b.php 同时包含这个文件,调用 test() ,总是其中一个执行完后,另一个才开始执行
    纠结啊