您当前的位置:首页 > 网站建设 > php
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

PHP PDO连接

51自学网 2023-01-07 20:32:37
  php

连接是通过创建 PDO 基类的实例而建立的。不管使用哪种驱动程序,都是用 PDO 类名。

连接到 MySQL

<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);?>

注意:如果有任何连接错误,将抛出一个 PDOException 异常对象。

处理连接错误

<?phptry {    $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() 设置此属性,则驱动程序将不会使用持久连接。


下载地址:
PHP PDO预定义常量
PHP PDO 事务与自动提交
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1