1

我有一个需要来自数据库的一些查询的 php 页面。所以我开始写下一些函数,我注意到我需要确保连接是活动的,并在数据检索完成时关闭连接。但并不需要天才就认为这不是处理这个问题的最聪明的方法:

function getConnection() {
//it connects
}

function killConection() {
//it closes connection
}

function getData() {
getConnection();
//it gets data
killConnection();
}

function getVeryImportantData() {
getConnection();
//it gets data
killConnection();
}

//... and so on ...

我当然不想为我需要发出的每个请求建立一个新的数据库连接,所以我想知道是否有一种方法可以组织我的代码,在我需要它时保持连接处于活动状态,以防万一它重新连接因任何原因关闭,并在完成所有必需的操作后断开连接。

4

2 回答 2

2

您的问题的解决方案很简单:

  1. 仅在需要时才打开与数据库的连接(并且尚未打开)
  2. 如果您知道,请仅关闭与数据库的连接,您不需要额外的连接。

这将导致仅在完成数据库查询时才打开数据库连接的处理。

数据库连接——如果没有特别关闭——将在脚本完成后自动关闭。

数以百万计的网站使用这个原则,他们或多或少的工作!所以我认为这并没有那么糟糕。

于 2012-06-02T16:07:28.470 回答
1

我会做什么:

  1. 创建一个应用程序类,这是您的实际页面
  2. 向这个类添加一个方法来初始化数据库连接并将其保存到$this->databaseConnection属性中,这样你以后可以检查你是否已经有一个数据库连接。
  3. 您提到的其余功能可以设置为应用程序类的方法。

这比简单的脚本要复杂一些,但我认为值得一试。它将帮助您以正确的方式规划您的应用程序,它还将有助于正确构建您的应用程序。

此外,使用 PDO 是个好主意。

如果您需要这种方法的帮助,请告诉我。

于 2012-06-02T16:26:39.800 回答