PHP8 PDO::__construct

2024-03-22 09:27 更新

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::__construct — 创建一个表示数据库连接的 PDO 实例

说明

public PDO::__construct(
    string $dsn,
    ?string $username = null,
    ?string $password = null,
    ?array $options = null
)

创建一个表示连接到请求数据库的数据库连接 PDO 实例。

参数 ¶

dsn

数据源名称或叫做 DSN,包含了请求连接到数据库的信息。

通常,一个 DSN 由 PDO 驱动名、紧随其后的冒号、以及具体 PDO 驱动的连接语法组成。更深入的信息能从 PDO 具体驱动文档找到。

dsn 参数支持三种不同的方式 创建一个数据库连接:

驱动程序调用

dsn 包含完整的DSN。

URI invocation

dsn 由 uri: 后跟 URI 组成,该 URI 包含定义 DSN 字符串的文件位置。URI 可以指定本地文件或远程 URL。

uri:file:///path/to/dsnfile

Aliasing

dsn 由映射到 php.ini 中定义 DSN 字符串的 pdo.dsn.name 的 name 名组成。

注意:

别名必须得在 php.ini 中定义了,不能是在 .htaccess 或 httpd.conf 中 。

username

DSN字符串中的用户名。对于某些PDO驱动,此参数为可选项。

password

DSN字符串中的密码。对于某些PDO驱动,此参数为可选项。

options

一个具体驱动的连接选项的键=>值数组。

错误/异常 ¶

如果试图连接到请求的数据库失败,无论当前设置了哪个 PDO::ATTR_ERRMODE,PDO::__construct() 抛出 PDOException。

示例 ¶

示例 #1 通过驱动程序调用创建 PDO 实例

<?php
/* Connect to a MySQL database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);

?>

示例 #2 通过 URI 调用创建 PDO 实例

以下示例假定该文件存在并具有文件权限 使 PHP 能够读取文件。该文件包含 PDO DSN 到 通过 PDO_ODBC 驱动程序连接到 DB2 数据库:/usr/local/dbconnect

odbc:DSN=SAMPLE;UID=john;PWD=mypass

PHP 脚本可以简单的传递指向文件 URI 的 参数来创建数据库连接: uri:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

$dbh = new PDO($dsn, $user, $password);

?>

示例 #3 使用别名创建一个PDO实例

以下示例假定包含以下内容 条目以启用与 MySQL 数据库的连接,仅使用 别名:php.inimydb

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* 使用别名连接到 ODBC 数据库 */
$dsn = 'mydb';
$user = '';
$password = '';

$dbh = new PDO($dsn, $user, $password);

?>


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号