首页 >后端开发 >php教程 >php开发中数据库连接创建和关闭的较好时机问题

php开发中数据库连接创建和关闭的较好时机问题

WBOY
WBOY原创
2016-06-06 20:37:37983浏览

刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难,

最开始用的是配置文件的方法,
在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等,
然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码。
后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用
$db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连接
在析构函数中关闭连接,然后在各个函数中使用连接。
那么这个时候该怎么办,难道每一个类中都要创建一个变量来保存数据库连接?
然后在构造函数为其赋值一个已经打开的数据库连接,在析构函数中关闭?
写的乱七八糟的....请赐教

回复内容:

刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难,

最开始用的是配置文件的方法,
在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等,
然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码。
后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用
$db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连接
在析构函数中关闭连接,然后在各个函数中使用连接。
那么这个时候该怎么办,难道每一个类中都要创建一个变量来保存数据库连接?
然后在构造函数为其赋值一个已经打开的数据库连接,在析构函数中关闭?
写的乱七八糟的....请赐教

原因是你没有使用面向对象来解决问题。

写一个超类去走数据库链接的操作,把链接放在$this->db中去 ,然后,其他业务类继承这个类,请问,还存在每个类要创建一个变量来保存数据库连接吗?是不是直接 $this->db 就拿到了数据库连接了。

我这只是一个思路,但是设计上不应该这么做,数据操作应该放在 Model中,而不是直接放在Controller中去。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn