当前位置: 首页 > 面试题库 >

是否必须关闭用PHP中的PDO打开的SQL连接

钮才哲
2023-03-14
问题内容

当我仅使用PHP的内置MySQL函数在PHP中打开MySQL连接时,我将执行以下操作:

$link = mysql_connect($servername, $username, $password);
mysql_select_db($dbname);
//queries etcetera
mysql_close($link);

当我打开与PDO的连接时,它看起来像这样:

$link = new PDO("mysql:dbname=$dbname;host=$servername",$username,$password);
//prepare statements, perform queries

我是否必须像与mysql_connect()and 一样显式关闭连接mysql_close()?如果没有,PHP如何知道何时完成连接?

TIA。


问题答案:

使用$link = null让PDO知道它可以关闭连接。

PHP:PDO连接和连接管理

成功连接到数据库后,PDO类的实例将返回到您的脚本。该连接在该PDO对象的生存期内保持活动状态。要关闭连接,您需要通过确保删除所有剩余的对该对象的引用来销毁该对象,方法是将NULL赋给保存该对象的变量。如果您未明确执行此操作,则脚本结束时PHP将自动关闭连接。



 类似资料:
  • 问题内容: 我使用的是用这样的: 我只关门了。我是否还需要关闭()? 问题答案: 不,您只需要关闭最外面的流。它将一直委托给包装的流。 但是,您的代码包含一个概念上的失败,应该在中发生关闭,否则当代码在打开和关闭之间引发异常时,它永远不会关闭。 例如 (请注意,我更改了代码以 引发 异常,以便您了解问题的原因,该异常即包含有关问题原因的详细信息) 或者,当您已经在使用Java 7时,也可以使用AR

  • 问题内容: 我有下面的代码,我越来越异常: 已经有一个与此相关的开放,必须首先关闭。 我为此项目使用Visual Studio 2010 / .Net 4.0和MySQL。基本上,我试图在使用数据读取器执行其他任务时运行另一个SQL语句。我在网上遇到异常 问题答案: 您正在和和使用相同的连接。根据MSDN,这不受支持: 请注意,在打开DataReader时,该DataReader仅使用Connec

  • 我们有一个java应用程序,我们使用多个语句变量。为什么需要多个语句的问题是,有时在为循环内的一个结果运行循环时,我们需要执行其他一些查询操作。大多数地方,单一的stmt被使用了很多次,最后我们关闭。现在我们要确认的是,我们没有关闭resultset变量,我们注意到内存的使用情况会波动。那么,在得到结果后立即关闭resultset的最佳机制是什么,还是在结束时关闭stmt之前关闭resultset

  • 我有一个servlet,它以XML格式响应。 客户端通过HttpSurlConnection连接到这个servlet。现在,如果客户端不调用会有问题吗? 非常感谢。

  • 我读过很多帖子,人们说在java、语句等中关闭连接,但我没有找到我的问题的答案。 我问我不做Con.close(),但我做所以它会关闭连接或不? 所以我只想知道,当我们关闭结果集时,连接是否会关闭?

  • 问题内容: 我的第一个问题是- 构造函数应始终声明为公共吗? 如果我创建一个构造函数该怎么办。 我总是看到构造函数是隐式的。那么为什么构造函数有用呢?还是根本没有用。因为没有人可以调用它,或者永远也不能创建对象(由于构造函数)!这是我的第二个问题。 问题答案: 不, 构造函数 可以是,, 或(根本没有访问修饰符)。 做某事 并不意味着没有人可以访问它。这只是意味着该类之外的任何人都不能访问它。因此