PHP 多个mysql连接的问题
2023-09-11 14:15:05 时间
今天在同一个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() 曾在前面被用同样的参数调用过。
相关文章
- 3种PHP连接MYSQL数据库的常用方法
- PHP MySQL 读取数据
- PHP Mysql-插入数据
- 【PHP】MySQL原生PHP操作-天龙八步
- Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
- 使用Docker部署MySQL
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- Brew 卸载MySql以及安装Mysql
- MySQL第四讲 MySql Undo日志 - 对聚簇索引进行CUD操作
- 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
- 【数据库】Mysql表字段转Java实体(sql语句)
- 腾讯云服务器搭建Apache/PHP/MySQL环境
- PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别
- MySQL数据的查询注意
- 比较全面的MySQL优化参考(上下篇)
- 《PHP、MySQL和Apache入门经典(第5版)》一一2.11 实践练习
- 基于 PHP+apache+MySql实现(Web)客户关系管理系统【100010108】
- python操作mysql数据库系列-操作MySql数据库(三)
- idea 社区版连接mysql数据库教程,Cannot connect to “MySQL-5.1.43“. CLIENT_PLUGIN_AUTH is required
- mysql远程连接 Host is not allowed to connect to this MySQL server
- MySQL现高危漏洞,可致服务器root权限被窃取
- 在centos中php 在连接mysql的时候,出现Can't connect to MySQL server on 'XXX' (13)
- MySQL数据库出现大量Locked的一个案例
- 【MySQL】练习五 数据库完整性
- MySQL性能优化的21个最佳实践 和 mysql使用索引
- 获取安装后Apache、MySQL、Nginx、PHP编译时参数
- 实现mysql的读写分离(mysql-proxy)____2
- Eclipse中使用MySql遇到:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading o
- 【C#】使用MySql.Data.dll连接MySQL数据库