注意如果经常多人同时操作数据库时,最好锁定表.锁:lock tables tableName
LOCK TABLES tbl_name [AS alias] {READ | [READ LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name {READ | [LOW_PRIORITY] WRITE} ...]解:unlock tables tableName具体锁定方式语法见mysql帮助
LOCK TABLES tbl_name [AS alias] {READ | [READ LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name {READ | [LOW_PRIORITY] WRITE} ...]解:unlock tables tableName具体锁定方式语法见mysql帮助
$link=mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query("lock tables test write");//只有当前进程能够写入
mysql_query("insert into test values('test','test')");
mysql_query("unlock tables");//解锁
?>
一个线程如果再次锁定一个表,原来的锁定自动释放。一个线程与服务器断开,锁定也会自动释放。在你上面的代码中操作数据表的代码部分的前面加上锁定表的语句:
mysql_query("lock tables tableName write");
在完成操作数据表后加上:
mysql_query("unlock tables");说的够清除了吧
中间加入你上面的代码
...$this->sql_list->sql_query("UNLOCK TABLES");如果还不行,那就是你程序的问题了。