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

2020-07-2817:47:46后端程序开发Comments1,647 views字数 1619阅读模式

什么是 PDO

PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

PDO支持的数据库有如下(数据来自 php 官方网站)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

驱动名称支持的数据库
PDO_CUBRIDCubrid
PDO_DBLIBFreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRDFirebird/Interbase 6
PDO_IBMIBM DB2
PDO_INFORMIXIBM Informix Dynamic Server
PDO_MYSQLMySQL 3.x/4.x/5.x
PDO_OCIOracle Call Interface
PDO_ODBCODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQLPostgreSQL
PDO_SQLITESQLite 3 及 SQLite 2
PDO_SQLSRVMicrosoft SQL Server / SQL Azure
PDO_4D4D

PDO 安装与扩展

  • 配置 php.ini 配置文件,开启相应的扩展
extension = php_pdo.dll
  • 开启对应数据库的扩展,这里以 MySQL 为例。
extension = php_pdo_mysql.dll
  • 通过查看

    phpinfo();文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

    可以看到 PDO 扩展你的详细信息,内容如下:

数据库抽象层 PDO是什么?PHP实例代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

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,文件内容如文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

mysql:host=localhost;dbname=test

数据库抽象层 PDO是什么?PHP实例代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

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

首先需要修改 PHP 的配置 php.ini ,新增如下代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

pdo.dsn.test = "mysql:host=localhost;dbname=test"

命名为 test ,连接本地的 test 数据库。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

数据库抽象层 PDO是什么?PHP实例代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

代码中使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html

<?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();
}
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19911.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/19911.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定