PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口。
PDO支持的数据库有如下(数据来自 php 官方网站)
驱动名称 | 支持的数据库 |
---|---|
PDO_CUBRID | Cubrid |
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase |
PDO_FIREBIRD | Firebird/Interbase 6 |
PDO_IBM | IBM DB2 |
PDO_INFORMIX | IBM Informix Dynamic Server |
PDO_MYSQL | MySQL 3.x/4.x/5.x |
PDO_OCI | Oracle Call Interface |
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC) |
PDO_PGSQL | PostgreSQL |
PDO_SQLITE | SQLite 3 及 SQLite 2 |
PDO_SQLSRV | Microsoft SQL Server / SQL Azure |
PDO_4D | 4D |
extension = php_pdo.dll
extension = php_pdo_mysql.dll
phpinfo();
可以看到 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();
}
<?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
首先需要修改 PHP 的配置 php.ini
,新增如下代码
pdo.dsn.test = "mysql:host=localhost;dbname=test"
命名为 test
,连接本地的 test 数据库。
代码中使用
<?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();
}
内容来源于网络,如有侵权,请联系作者删除!