PHP的PDO连接语句是什么,怎样处理连接错误
Admin 2022-07-11 群英技术资讯 1131 次浏览
今天小编跟大家讲解下有关“PHP的PDO连接语句是什么,怎样处理连接错误”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。PHP PDO连接
连接是通过创建 PDO 基类的实例而建立的。不管使用哪种驱动程序,都是用 PDO 类名。
连接到 MySQL
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
注意:如果有任何连接错误,将抛出一个 PDOException 异常对象。
处理连接错误
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
连接数据成功后,返回一个 PDO 类的实例给脚本,此连接在 PDO 对象的生存周期中保持活动。
要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL 值给对象变量。
如果不这么做,PHP 在脚本结束时会自动关闭连接。
关闭一个连接:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// 在此使用连接
// 现在运行完成,在此关闭连接
$dbh = null;
?>
很多 web 应用程序通过使用到数据库服务的持久连接获得好处。
持久连接在脚本结束后不会被关闭,且被缓存,当另一个使用相同凭证的脚本连接请求时被重用。
持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快。
持久化连接
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
PDO::ATTR_PERSISTENT => true
));
?>
注意:如果想使用持久连接,必须在传递给 PDO 构造函数的驱动选项数组中设置 PDO::ATTR_PERSISTENT 。如果是在对象初始化之后用 PDO::setAttribute() 设置此属性,则驱动程序将不会使用持久连接。
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
通过 Math 函数能够处理 PHP 中的值,Math 函数包含许多用于计算的数学函数,本节将一一为你讲解!
php中__destruct方法的介绍:1、当类被销毁时候自动触发,可以使用unset方法触发该方法。2、属类中可选择的一部分,通常用来完成一些在对象销毁前的清理任务。析构函数不能带有任何参数。
php架构的意思:1、php架构主要由四个体系组成。2、zend基于不同环境所支持的上层API交互形式,sapi存储PHP相关核心代码,Extensions 扩展是常用的内置函数,上层应用是指PHP编程人员所编写的PHP程序。
我们在做注册页面的时候,需要用户填写邮箱信息,为了防止用户填写邮箱格式错误,我们需要对邮件格式验证。下面小编就给大家分享使用php实现验证邮箱格式的代码,需要的朋友可以参考学习。
重构代码是构建和维护软件的重要方面,重构涵盖了一系列不同的技术,包括移动,提取,复制,删除和重命名。PhpStorm的重构功能(包含在核心软件包中)支持所有这些功能。
推荐内容
相关标签
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008