Code前端首页关于Code前端联系我们

数据库抽象层 什么是PDO? PHP代码示例

terry 2年前 (2023-09-25) 阅读数 49 #后端开发

什么是PDO

PDO(PHP Data Object),数据库访问抽象层,统一了各种数据库的访问接口。

PDO 支持以下数据库(数据来自 php 官方网站)

驱动程序名称 支持的数据库
PDO_CUBRIDCubrid‼ Microsoft SQL Server / Sybase
PDO_FIREBIRDFirebird/Interbase 6
PDO_IBMIBM DB2
PDO_INFORMIXIBM Informix♷IBM Informix 动态服务器‼ .x/4.x/5.x
PDO_OCI Oracle 调用接口
PDO_ODBC ODBC v3(IBM DB2、unixODBC 和 win32 ODBC)
PDO_PGSQL‷P
PDO_PGSQL❙‷PODBC v3 SQLite 3 和 SQLite 2
PDO _SQLSRV Microsoft SQL Server / SQL Azure
PDO_4D4D

PDO安装与扩展

  • 配置php.ini配置文件并启用相应的扩展这里以MySQL为例。
extension = php_pdo_mysql.dll
  • 有关 PDO 扩展的详细信息可以在

    phpinfo();

    中找到。内容如下:

数据库抽象层 PDO是什么?PHP实例代码

PDO的使用

  • 以参数的形式连接数据库
<?php
try {
    $dsn = 'mysql:host=localhost;dbname=test'; // 数据源
    $username = 'root'; // 数据库用户名
    $passwd = 'aaaaaa'; // 数据库密码

    $pdo = new PDO($dsn, $username, $passwd);
    print_r($pdo); // 返回 PDO Object ( )

} catch (PDOException $e) {
    echo $e->getMessage();
}
  • 以URI的形式连接数据库
<?php
try {
    $dsn = 'uri:file:///Applications/MAMP/htdocs/Study/Pdo/dsn.txt'; // 数据源 其中 /Applications/MAMP/htdocs/Study/Pdo/dsn.txt 为文件 dsn.txt 路径
    $username = 'root'; // 数据库用户名
    $passwd = 'aaaaaa'; // 数据库密码

    $pdo = new PDO($dsn, $username, $passwd);
    print_r($pdo); // 返回 PDO Object ( )

} catch (PDOException $e) {
    echo $e->getMessage();
}

需要配置一个单独的文件❙ dsn.txt。文件内容如下

mysql:host=localhost;dbname=test

数据库抽象层 PDO是什么?PHP实例代码

  • 通过配置文件连接数据库

首先需要编辑PHP配置php.ini ,添加以下代码❙❙命名为❝ ❙❙ 名为 连接到本地测试数据库。

数据库抽象层 PDO是什么?PHP实例代码

在代码中使用

<?php

try {
    $dsn = 'test';  // 在 php.ini 中定义的名称
    $username = 'root'; // 数据库用户名
    $passwd = 'aaaaaa'; // 数据库密码

    $pdo = new PDO($dsn, $username, $passwd);
    print_r($pdo); // 返回 PDO Object ( )

} catch (PDOException $e) {
    echo $e->getMessage();
}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门