php pdo 关闭,php – 关闭PDO语句

我最近决定从MySQLi跳到PDO,并且有一些困扰我关于PDO准备好的声明.

在MySQLi中,我会写一个典型的获取查询,如下所示:

$db = new mysqli("localhost", "user", "pass", "mydb");

$sql = "SELECT firstCol, secondCol FROM testTable WHERE thirdCol=?";

$stmt = $db->prepare($sql);

$stmt->bind_param("s", $thirdCol);

$stmt->execute();

while( ($row = $stmt->fetch()) )

{

//do something

}

$stmt->close();

$db->close();

当然,进行适当的错误检查.在查询之后我总是关闭语句和数据库连接.使用PDO时,我通过将数据库处理程序设置为null来关闭连接,如下所示:

$db = null;

但声明怎么样?我找到了一个here的帖子,建议使用unset或closeCursor.哪一个更好?我应该像连接一样将它设置为null吗?

解决方法:

with the appropriate error checking of course.

我确信错误检查不太合适.要检查错误,您必须只设置单个mysqli配置选项(以及PDO)并单独执行特定查询.

After the query I always close the statement and the database connection.

说到数据库连接,如果你不得不在同一个脚本中运行多个查询,那你就完全错了.因为您必须再次打开连接以运行另一个查询,这会毫无理由地减慢您的应用程序.

When using PDO I close the connection by setting the database handler to null

就像mysqli一样,如果你在脚本结束时关闭它,那没关系,但没必要.但如果你在每次查询后关闭它,那就错了!

您必须只连接一次,而不是一直使用该单个连接变量.

截至发言,这取决于你.大多数time语句变量被覆盖,这使得先前的实例设置为null.调用函数时,函数结束时,其所有变量都设置为null.当php脚本结束时,它的所有变量都会再次设置为null.因此,作为一项规则,没有什么可担心的.

标签:php,mysql,mysqli,pdo,prepared-statement

来源: https://codeday.me/bug/20190623/1272190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值