php完全自学手册

浏览466457
更新时间2022-04-15

PHP PDO PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。 PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。 PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。 PDO 安装 你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。 在 Unix 系统上安装 PDO 在Un.

PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。

PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。


PDO 安装

你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。

在 Unix 系统上安装 PDO

在Unix上或Linux上你需要添加以下扩展:

extension=pdo.so

Windows 用户

PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展:

extension=php_pdo.dll
除此之外还有以下对应的各种数据库扩展:
;extension=php_pdo_firebird.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll

在设定好这些配置后,我们需要重启PHP 或 Web服务器。

接下来我们们来看下具体的实例,以下为使用PDO连接MySql数据库的实例:

<?php
$dbms='mysql';     //数据库类型
$host='localhost'; //数据库主机名
$dbName='test';    //使用的数据库
$user='root';      //数据库连接用户名
$pass='';          //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    echo "连接成功<br/>";
    /*你还可以进行一次搜索操作
    foreach ($dbh->query('SELECT * from FOO') as $row) {
        print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
    }
    */
    $dbh = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>

很简单吧,接下来就让我们来具体看下PHP PDO具体说明:

  • 预定义常量

  • PHP PDO连接连接管理

  • PHP PDO 事务与自动提交

  • PHP PDO 预处理语句与存储过程

  • PHP PDO 错误与错误处理

  • PHP PDO 大对象 (LOBs)

  • PDO 类:

    • PDO::beginTransaction — 启动一个事务

    • PDO::commit — 提交一个事务

    • PDO::__construct — 创建一个表示数据库连接的 PDO 实例

    • PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE

    • PDO::errorInfo — 返回最后一次操作数据库的错误信息

    • PDO::exec — 执行一条 SQL 语句,并返回受影响的行数

    • PDO::getAttribute — 取回一个数据库连接的属性

    • PDO::getAvailableDrivers — 返回一个可用驱动的数组

    • PDO::inTransaction — 检查是否在一个事务内

    • PDO::lastInsertId — 返回最后插入行的ID或序列值

    • PDO::prepare — 备要执行的SQL语句并返回一个 PDOStatement 对象

    • PDO::query — 执行 SQL 语句,返回PDOStatement对象,可以理解为结果集

    • PDO::quote — 为SQL语句中的字符串添加引号。

    • PDO::rollBack — 回滚一个事务

    • PDO::setAttribute — 设置属性

  • PDOStatement 类:

    • PDOStatement::bindColumn — 绑定一列到一个 PHP 变量

    • PDOStatement::bindParam — 绑定一个参数到指定的变量名

    • PDOStatement::bindValue — 把一个值绑定到一个参数

    • PDOStatement::closeCursor — 关闭游标,使语句能再次被执行。

    • PDOStatement::columnCount — 返回结果集中的列数

    • PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令

    • PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE

    • PDOStatement::errorInfo — 获取跟上一次语句句柄操作相关的扩展错误信息

    • PDOStatement::execute — 执行一条预处理语句

    • PDOStatement::fetch — 从结果集中获取下一行

    • PDOStatement::fetchAll — 返回一个包含结果集中所有行的数组

    • PDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。

    • PDOStatement::fetchObject — 获取下一行并作为一个对象返回。

    • PDOStatement::getAttribute — 检索一个语句属性

    • PDOStatement::getColumnMeta — 返回结果集中一列的元数据

    • PDOStatement::nextRowset — 在一个多行集语句句柄中推进到下一个行集

    • PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数

    • PDOStatement::setAttribute — 设置一个语句属性

    • PDOStatement::setFetchMode — 为语句设置默认的获取模式。

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载