PDO::__construct
PDO::__construct
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO :: __ construct - 创建一个表示到数据库的连接的PDO实例
描述
public PDO::
_
_
construct
( string $dsn
[, string $username
[, string $passwd
, array $options
]] )
创建一个PDO实例来表示与所请求的数据库的连接。
参数
DSN
数据源名称或DSN包含连接到数据库所需的信息。
通常,DSN由PDO驱动程序名称、后跟冒号、后跟PDO驱动程序特定的连接语法组成。更多信息可从PDO驱动程序特定的文档中获得。
该dsn
参数支持三种不同的方法来指定创建数据库连接所需的参数:
驱动程序调用
dsn
:包含完整的DSN。
URI调用
dsn
由uri:
后面的URI 组成,它定义了包含DSN字符串的文件的位置。该URI可以指定本地文件或远程URL。
uri:file:///path/to/dsnfile
别名
dsn
由一个名称name
映射到pdo.dsn.name
php.ini中来定义DSN字符串。
注意
:别名必须在php.ini中定义,而不是.htaccess或httpd.conf
username
DSN字符串的用户名。对于某些PDO驱动程序,此参数是可选的。
passwd
DSN字符串的密码。对于某些PDO驱动程序,此参数是可选的。
选项
A key=>value array of driver-specific connection options.
返回值
成功则返回PDO对象。
错误/异常
如果尝试连接到所请求的数据库失败,则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';
try {
$dbh = new PDO($dsn, $user, $password
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage(
}
?>
Example#2通过URI调用创建一个PDO实例
以下示例假定文件/ usr / local / dbconnect存在具有使PHP能够读取文件的文件权限。该文件包含通过PDO_ODBC驱动程序连接到DB2数据库的PDO DSN:
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 = '';
try {
$dbh = new PDO($dsn, $user, $password
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage(
}
?>
示例#3使用别名创建PDO实例
以下示例假定php.ini包含以下条目,以便仅使用别名mydb
启用到MySQL数据库的连接:
[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage(
}
?>
注意
:在PHP5.3版本之前,扩展PDO并实现__call
的类将始终接收小写字母$method
。
← PDO::commit
PDO::errorCode →