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)
{
    echo "Error!: " , $e->getMessage() , "<br/>";
    exit();
}

连接数据成功后,返回一个 PDO 类的实例给脚本,此连接在 PDO 对象的生存周期中保持活动

要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL 值给对象变量

如果不这么做,PHP 在脚本结束时会自动关闭连接

关闭一个连接:

<?php 

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


// ...在此使用连接


// 现在运行完成,在此关闭连接
$dbh = null;

很多 web 应用程序通过使用到数据库服务的持久连接获得好处

持久连接在脚本结束后不会被关闭,且被缓存,当另一个使用相同凭证的脚本连接请求时被重用

持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快

持久化连接

<?php

$options    = array(PDO::ATTR_PERSISTENT => true);
$dsn        = 'mysql:host=localhost;dbname=test'


$dbh = new PDO($dsn, $user, $pass, $options);

如果想使用持久连接,必须在传递给 PDO 构造函数的驱动选项数组中设置 PDO::ATTR_PERSISTENT

如果是在对象初始化之后用 PDO::setAttribute() 设置此属性,则驱动程序将不会使用持久连接

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.