对于PHP程序来来说,html' target='_blank'>MySQL是一种稀缺的资源。MySQL默认最大连接数为100,也即是最多接受100个MySQL的客户端连接。因此,PHP在使用MySQL连接时做了一些优化的处理。这些优化,可能对性能有所提升,但对使用MySQL连接的使用却也造成一些困惑。
创建MySQL连接:
resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )
$conn1 = mysql_connect($dbhost, $dbuser, $dbpwd);mysql_select_db('database1', $conn1);$conn2 = mysql_connect($dbhost, $dbuser, $dbpwd);mysql_select_db('database2', $conn2);mysql_query('select * from table1', $conn1);
用户期望在database1查询table1的信息,但是由于在第二次mysql_connect(),PHP返回的是上一次的MySQL连接资源。因此,对于$conn2中切换数据库也对$conn1造成了影响,$conn1也同时切换默认到数据库database2,查询的信息会是在database2上面的结果。
解决这个问题的方法就是在第二次调用mysql_connect()时,指定new_link为true即可。
关闭MySQL连接:
对于使用mysql_connect()创建的连接资源,对资源变量进行unset()并不能真正地释放资源,需要调用mysql_close()才能达到释放MySQL连接资源的效果。
需要注意的是:使用mysql_connect()获取共享MySQL连接资源时,调用mysql_close()有时并不能释放MySQL连接,只有当所有共享连接资源都调用mysql_close()时,PHP才会真正释放MySQL连接。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答