博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 多个mysql连接的问题
阅读量:6434 次
发布时间:2019-06-23

本文共 618 字,大约阅读时间需要 2 分钟。

今天在同一个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() 曾在前面被用同样的参数调用过。

  

转载地址:http://sxqga.baihongyu.com/

你可能感兴趣的文章
JSP常见的三个编译指令
查看>>
EEPlat的元模型体系
查看>>
环信集成 2---基于环信Demo3.0,实现单聊功能
查看>>
Hadoop学习:Map/Reduce初探与小Demo实现
查看>>
【Lucene4.8教程之二】索引
查看>>
稍稍乱入的CNN,本文依然是学习周莫烦视频的笔记。
查看>>
数据归一化、标准化
查看>>
Java开发中JDBC连接数据库代码和步骤
查看>>
php验证码--图片
查看>>
Java代码质量监控工具Sonar安装
查看>>
SpringMVC中 -- @RequestMapping的作用及用法
查看>>
Linux之convert命令【转】
查看>>
提高阅读源代码的效率 转
查看>>
java一些常用并发工具示例
查看>>
45. Jump Game II
查看>>
c++ 类内static成员初始化
查看>>
python-ConfigParser模块【读写配置文件】
查看>>
更改printk打印级别【转】
查看>>
2.2 dubbo-spi源码解析
查看>>
hadoop之 YARN配置参数剖析—RM与NM相关参数
查看>>