当我使用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()mysql_close()那样显式关闭连接?如果没有,PHP怎么知道我什么时候完成了连接?

蒂娅.

推荐答案

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

PHP: PDO Connections & Connection Management

成功连接到数据库后,PDO类的一个实例将返回到脚本中.该连接在该PDO对象的生命周期内保持活动状态.要关闭连接,需要通过确保删除对该对象的所有剩余引用来销毁该对象——通过为保存该对象的变量指定NULL来完成此操作.如果不明确执行此操作,PHP将在脚本结束时自动关闭连接.

Mysql相关问答推荐

MariaDB /SQL僵局-并发插入

无法从容器从APS. NET应用程序连接到MySQL服务器容器

加载数据本地infile,字段中有双引号和逗号

MySQL:统计单词在单元格中出现的次数,并将数字放在bra中单词的旁边

如何在JOIN中获取MySQL中的项目总数

为什么用PyMySQL构建的json返回结果会出现重复?

发生的原因及解决方法

根据 Power Query 中的条件替换值

多个 FULLTEXT 索引上的 MySQL SELECT.结果极其缓慢

MySQL 根据另一列中的值更改空值

如何在每个国家/地区查询 GHTorrent(类 SQL 语言)的最常用语言

从 2 个不同的表中获取数据并将它们加入 sql

我在查询中没有得到正确的结果

进行 MySQL COUNT 查询

INSERT ... 使用 WHERE 进行重复的密钥更新?

用户 'User'@'%' 和 'User'@'localhost' 不一样吗?

我可以在单个 Amazon RDS 实例上创建多少个数据库

Ubuntu 中的 MySQL JDBC jar 文件在哪里?

MySQL 连接运算符

MySQL:切换 int 字段值的简单方法