简单封装了一个MySql的类class MySql{

private $dbCon;

public function __construct(){

$this->dbCon=mysql_connect(...);

mysql_select_db("test",$this->dbCon);

}

public function query($query){

return mysql_query($query,$this->dbCon);

}

public function closeDb(){

mysql_close($this->dbCon);

}

}

另外在两个类里面实例化该MySql连接并且定义方法获取数据。class UserDao{

private $mysql;

public function __construct(){

$this->mysql=new MySql();

}

public function getUsers(){

$query="SELECT * FROM USERS";

$rs=$this->mysql->query($query);

#format data

return $result;

}

public function __destruct(){

$this->mysql->closeDb();

}

}class NoteDao{

private $mysql;

public function __construct(){

$this->mysql=new MySql();

}

public function getNotes(){

$query="SELECT * FROM Notes";

$rs=$this->mysql->query($query);

#format data

return $result;

}

public function __destruct(){

$this->mysql->closeDb();

}

}

然后新建一个test.php页面

如果单独引用任何一个UserDao或者NoteDao都没有问题。但是如果同时引用UserDao和NoteDao来获取数据,则会有

PHP Warning: mysql_close(): 9 is not a valid MySQL-Link resource in 。。。

这样的错误。

为什么呢?

回复内容:

简单封装了一个MySql的类class MySql{

private $dbCon;

public function __construct(){

$this->dbCon=mysql_connect(...);

mysql_select_db("test",$this->dbCon);

}

public function query($query){

return mysql_query($query,$this->dbCon);

}

public function closeDb(){

mysql_close($this->dbCon);

}

}

另外在两个类里面实例化该MySql连接并且定义方法获取数据。class UserDao{

private $mysql;

public function __construct(){

$this->mysql=new MySql();

}

public function getUsers(){

$query="SELECT * FROM USERS";

$rs=$this->mysql->query($query);

#format data

return $result;

}

public function __destruct(){

$this->mysql->closeDb();

}

}class NoteDao{

private $mysql;

public function __construct(){

$this->mysql=new MySql();

}

public function getNotes(){

$query="SELECT * FROM Notes";

$rs=$this->mysql->query($query);

#format data

return $result;

}

public function __destruct(){

$this->mysql->closeDb();

}

}

然后新建一个test.php页面

如果单独引用任何一个UserDao或者NoteDao都没有问题。但是如果同时引用UserDao和NoteDao来获取数据,则会有

PHP Warning: mysql_close(): 9 is not a valid MySQL-Link resource in 。。。

这样的错误。

为什么呢?

mysql_connect是会复用连接的。所以你new出来的两个 MySql 是用的同一个连接(可以var_dump出来看,resource id是同一个)。

mysql_connect第四个参数是是否新建连接,默认FALSE,置成 TRUE 就行了。$this->dbCon = mysql_connect($host, $user, $passwd, TRUE);

但是我不太建议这么做,本来连接是可以复用的~~~没必要新建。用mysql_connect创建的连接php是会自动释放的,不用调用mysql_colse去关。

代码写错了$dbCon=mysql_connect(...);

应该是$this->dbCon=mysql_connect(...);

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

php 连接两个mysql 一个不能连接_connect-phpmysql连接问题,不可以同时生成两个连接么。...相关推荐

  1. win10服务器只显示4g内存,系统win10 64位 两个内存条一个4g一共8g显示8g但是可用只有3.9g...

    点击查看系统win10 64位 两个内存条一个4g一共8g显示8g但是可用只有3.9g具体信息 系统win10 64位 两个内存条一个4g一共8g显示8g但是... 答:在开始图标上右键,选择运行,输 ...

  2. mysql和windows连接不上_问题-jdbc连接不上mysql,windows下开启两个mysql服务

    1.问题: 前两天安装了个php 环境- wamp,由于我自己电脑上本身带有 mysql的数据库,在安装完后,没有注意到,mysql已经指向了 刚安装好的wamp里的mysql .导致 之前的 mys ...

  3. linux怎么连接两个服务器,一个服务器端同时创建两个socket连接 linux

    不可不知 Linux操作系统网络服务器模型 Linux系统网络服务器模型主要有两种:并发服务器和循环服务器. 所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻 ...

  4. MySQL 一个连接对应一个数据库

    为什么80%的码农都做不了架构师?>>>    需要用到MySQL的工具:Navicat 没有的小伙伴赶紧去下载一个,比起MySQL黑白的界面这货好用太多. 进入主题 首先使用 ro ...

  5. iis 无法连接mysql_远程无法连接SQL2000及MySQL的原因和解决办法

    远程无法连接SQL2000及MySQL的原因和解决办法 时间:2019-11-10 11:06 1. 没有在数据库管理面板中设置远程连接IP造成的. 说明:为了提高操作系统的安全性,所有使用了星外安全 ...

  6. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  7. go 连接 kafka 写 mysql

    引言 上一篇中提到了,go 连接 kafka 进行消息的生产和消费过程.在这一篇中,将对 go 连接 kafka 写 mysql 进行简单的设计和实现. 本文主要针对的是 Mac 系统,如果使用其它操 ...

  8. mysql数据库断开连接_解决mysql服务器在无操作超时主动断开连接的情况

    我们在使用mysql服务的时候,正常情况下,mysql的设置的timeout是8个小时(28800秒),也就是说,如果一个连接8个小时都没有操作,那么mysql会主动的断开连接,当这个连接再次尝试查询 ...

  9. Win下通过 Navica t连接Ubuntu下MySQL数据库

    昨天博主遇到一个很棘手的问题,就是如何使用Windows 去连接Ubuntu 下MySQL数据库,最后在网上查阅了相关的资料,浏览了很多前辈们的博客,终于解决这个问题了. 我的电脑配置情况是Windo ...

最新文章

  1. python求三角形面积步骤_python算三角形面积
  2. 解锁三星bl锁有几种方法_三星S6解锁教程_三星GALAXY S6怎么解锁Bootloader的方法
  3. Rust编程语言的核心部件
  4. zabbix使用脚本监控
  5. Node — 第八天 (大事件项目接口实现二)
  6. 计算机软件及其软件系统,计算机软件系统课件
  7. 特斯拉柏林超级工厂叕被叫停,先交一个亿再说
  8. CLR线程池的作用与原理浅析
  9. 搭载敏捷飞天底座 阿里云专有云敏捷版全面升级 | 凌云时刻
  10. WINDOWS API 函数(超长,值得学习)
  11. 钢铁雄心II(HOI2)作弊码合辑
  12. PT建站源码(PT服务器原程序)汇总 by 乱世狂人
  13. 登录界面实现记住密码功能
  14. POJ-3207-TwoSAT
  15. 氪金玩家逸仙电商的高端困境
  16. Wlan学习备忘(上)
  17. web前端 网页加载 性能优化大全
  18. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)
  19. 通讯录怎么恢复?在 手机上检索找回已删除的电话号码的3种方式
  20. Win10无法更改账户名称怎么办

热门文章

  1. CSS3新增UI样式
  2. SQL Proc(存储过程)/tran(事物)
  3. 计算机操作系统之设备管理
  4. 应用高斯分布来解决异常检测问题(一)
  5. MVC area出现“找到多个与名为“Home”的控制器匹配的类型”错误的解决方法
  6. 2021母婴行业洞察报告.pdf(附下载链接)
  7. 【干货】10000个抖音短视频红人通讯录.pdf(附下载链接)
  8. 【报告分享】2020年小红书内容生态报告.pdf(附下载链接)
  9. 字节跳动:高级人才的五个基本素质
  10. Network-based Fraud Detection for Social Security Fraud