PHP PDO连接数据库(附带实例)
PDO 是 PHP 数据库的一个常用扩展,它提供了面向对象语法,使得在 PHP 程序中操作数据库变得更加方便、快捷。
PDO 支持的每个数据库都对应不同的扩展文件。如果想让 PDO 支持 MySQL 数据库,需要在 php.ini 配置文件中找到“;extension=pdo_mysql;”,去掉分号注释开启扩展。
修改配置文件后重新启动 Apache,在 test.php 中使用 phpinfo() 函数查看扩展是否开启成功,如下图所示:

图 1 开启PDO扩展
从图可看出,在 PDO support 一栏中显示了 enabled,表示开启了 PDO 扩展。
例如,连接 MySQL 数据库时,PDO 驱动程序名称为 mysql,它特有的连接语法包括主机名、端口号、数据库名称、字符集等;连接 Oracle 数据库时,PDO 驱动程序名称为 oci,它特有的连接语法只包括数据库名称和字符集。
下面演示 MySQL 数据库和 Oracle 数据库的 $dsn,示例代码如下:
下面演示如何连接 MySQL 服务器,在 VS Code 编辑器中打开 C:\web\apache2.4\htdocs 目录,创建 pdo01.php 文件,使用 PDO 连接 MySQL 服务器并选择 myframe 数据库,具体代码如下:
开启PDO扩展
PDO 扩展为 PHP 操作数据库定义了一个轻量级的接口,从而可以用一套相同的接口操作不同的数据库。目前支持的数据库包括 Firebird、FreeTDS、MySQL、Microsoft SQL Server、Oracle、PostgreSQL、SQLite、Sybase 等。PDO 支持的每个数据库都对应不同的扩展文件。如果想让 PDO 支持 MySQL 数据库,需要在 php.ini 配置文件中找到“;extension=pdo_mysql;”,去掉分号注释开启扩展。
修改配置文件后重新启动 Apache,在 test.php 中使用 phpinfo() 函数查看扩展是否开启成功,如下图所示:

图 1 开启PDO扩展
从图可看出,在 PDO support 一栏中显示了 enabled,表示开启了 PDO 扩展。
连接和选择数据库
PDO 扩展提供了 PDO 类,能够用于连接和操作数据库。使用 PDO 类操作数据库前,需要先实例化 PDO 类,传递连接数据库的参数,基本语法格式如下:PDO::__construct ( string $dsn, // 数据源名称 string $username, // 用户名(可选参数) string $password, // 密码(可选参数) array $driver_options // 包含键值的驱动连接选项(可选参数) )在上述语法格式中,“PDO::”表示 PDO 类,$dsn 由 PDO 驱动程序名称、冒号和 PDO 驱动程序特有的连接语法组成。
例如,连接 MySQL 数据库时,PDO 驱动程序名称为 mysql,它特有的连接语法包括主机名、端口号、数据库名称、字符集等;连接 Oracle 数据库时,PDO 驱动程序名称为 oci,它特有的连接语法只包括数据库名称和字符集。
下面演示 MySQL 数据库和 Oracle 数据库的 $dsn,示例代码如下:
$mysqldsn = 'mysql:host=主机名;port=端口号;dbname=数据库名称;charset=字符集'; $oracledsn = 'oci:dbname=数据库名称;charset=字符集';上述示例代码展示了 MySQL 数据库和 Oracle 数据库的 $dsn,其他数据库的 PDO 驱动名称以及特有的连接语法可以参考 PHP 手册。
下面演示如何连接 MySQL 服务器,在 VS Code 编辑器中打开 C:\web\apache2.4\htdocs 目录,创建 pdo01.php 文件,使用 PDO 连接 MySQL 服务器并选择 myframe 数据库,具体代码如下:
<?php $dsn = 'mysql:host=localhost;port=3306;dbname=myframe;charset=utf8mb4'; $pdo = new PDO($dsn, 'root', '123456'); var_dump($pdo); // 输出结果:object(PDO)#1 (0) { }在上述代码中,实例化 PDO 类后,会得到 PDO 对象。如果实例化 PDO 类失败则会抛出 PDO 异常。