当前位置:Gxlcms > PHP教程 > php开发中数据库连接创建和关闭的较好时机问题

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

时间:2021-07-01 10:21:17 帮助过:7人阅读

刚刚学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中去。

人气教程排行