PHP 多个mysql连接的问题
程序员文章站
2022-03-06 09:22:56
...
今天在同一个php进程中用mysql_connect新建了两个mysql句柄,这两个句柄都连接同一台数据库,只不过操作的数据库dbname不同,假设这两个句柄分别是$dbhA和$dbhB,它们对应的数据库dbname分别是dbA和dbB。我在$dbhA上操作dbA中的时候缺报错是dbB中没有表xxx。
今天在同一个php进程中用mysql_connect新建了两个mysql句柄,这两个句柄都连接同一台数据库,只不过操作的数据库dbname不同,假设这两个句柄分别是$dbhA和$dbhB,它们对应的数据库dbname分别是dbA和dbB。我在$dbhA上操作dbA中的时候缺报错是dbB中没有表xxx。。。
起初以为是我应用层逻辑处理在某个地方弄混了两个句柄,翻半天没翻出来,后来在这里发现了同样的问题。
原来是mysql_connect的实现中,如果再次调用它时操作的是同一个数据库,那么会返回第一次调用mysql_connect返回的那个句柄。所以在同一个PHP进程中对同一个数据库创建多个连接时,应该这么搞:
$db1 = mysql_connect($host1, $user1, $passwd1, true); $db2 = mysql_connect($host2, $user2, $passwd2, true);
http://php.net/manual/zh/function.mysql-connect.php 这里有对第四个参数的详细解释:
如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数new_link
改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。
上一篇: PHP框架:climbPHP 首发
推荐阅读
-
大家使用过mysql 严格模式没有?帮忙看一下这个简单的SQL语句出了什么问题?
-
解决php中Cannot send session cache limiter 的有关问题
-
MySQL存储程序、函数以及复制的相关问题
-
php将access数据库转换到mysql数据库的方法
-
解决phpcms更换javascript的幻灯片代码调用图片问题_php实例
-
由 php 中 if 想到的些问题
-
解决Mysql 8.0.17 winx64版本安装过程中遇到的问题
-
mysql韩文乱码的问题_MySQL
-
内蒙古自治区*管理局 深入探讨PHP中的内存管理问题
-
wampServer php 使用IP访问Forbidden的有关问题