学科分类
目录
PHP基础

PDO的基本使用

PDO扩展提供了PDO类,该类提供了很多方法,通常使用PDO类主要用于连接数据库、发送SQL语句等。常用的方法如下所示。

  • PDO::__construct():实例化PDO对象,帮助实现连接认证、数据库选择、字符集设置等功能。
  • PDO::__exec():执行一个写操作的SQL指令,返回受影响的行数。
  • PDO::__query():执行一个读操作的SQL指令,返回一个PDOStatement类对象。
  • PDO::errorCode()和PDO::errorInfo():获取错误信息,errorCode()是获取错误码,errorInfo()是获取错误的信息。

在使用PDO扩展连接数据库时,需要先实例化PDO类,通过PDO::__construct()方法实例化PDO类,传递数据库连接参数,基本语法格式如下。

PDO::__construct ( 
    string $dsn,             // 数据源名称
    string $username,        // 用户名(可选)
    string $password,        // 密码(可选)
    array $driver_options    // 包含键值的驱动连接选项(可选)
)

上述语法中,$dsn是由PDO驱动程序名称、“:”和PDO驱动程序特有的连接语法组成。例如,连接MySQL数据库时,PDO驱动名为mysql,它特有的连接语法包括主机名、端口号、数据库名称、字符集等;连接Oracle数据库时,PDO驱动名为oci,它特有的连接语法只包括数据库名称和字符集。其他数据库的PDO驱动名称以及特有的连接语法可以参考PHP手册,本书以连接MySQL数据库的PDO驱动为例讲解。

下面演示PDO连接本地的MySQL服务器,选择mydb数据库,示例代码如下。

1  <?php
2  $dsn = 'mysql:host=localhost;port=3306;dbname=mydb;charset=utf8';
3  $pdo = new PDO($dsn, 'root', '123456');
4  var_dump($pdo);  // 输出结果:object(PDO)#1 (0) { }

以上代码实例化PDO成功则返回一个PDO对象,否则会抛出一个 PDO异常(PDOException)。在$dsn字符串中,host用于指定连接的主机名,port用于指定连接的端口号,dbname用于选择数据库,charset用于设置字符集,各连接语法之间使用分号“;”进行分隔。

点击此处
隐藏目录