 |
PDO::__construct (no version information, might be only in CVS) PDO::__construct --
Creates a PDO instance representing a connection to a database
说明PDO PDO::__construct ( string dsn [, string username [, string password [, array driver_options]]] ) 警告 | 本函数是实验性的。本函数的行为,包括函数名称以及其它任何关于本函数的文档可能会在没有通知的情况下随
PHP 以后的发布而改变。使用本函数风险自担。 |
Creates a PDO instance to represent a connection to the requested
database.
参数
- dsn
The Data Source Name, or DSN, contains the information required to
connect to the database.
In general, a DSN consists of the PDO driver name, followed by a colon,
followed by the PDO driver-specific connection syntax. Examples of each
driver are given below:
- PDO_DBLIB
The DSN prefix is either sybase:
or mssql: depending on which libraries
it was linked against during compilation.
sybase:host=localhost; dbname=testdb mssql:host=localhost; dbname=testdb - PDO_FIREBIRD
firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port=3050 - PDO_MYSQL
mysql:host=localhost;dbname=testdb - PDO_OCI
To connect via tnsnames.ora, use: oci:mydb If using instantclient, use: oci:dbname=//localhost:1521/testdb - PDO_ODBC
odbc:DSN=SAMPLE;UID=john;PWD=mypass DSN=SAMPLE refers to the SAMPLE data source configured in the ODBC driver manager. - PDO_PGSQL
pgsql:host=localhost port=5432 dbname=testdb user=john password=mypass
Note, by passing user and password
in the DSN, the username
and password parameters become optional.
If specified, they are glued to the end of the connection string.
- PDO_SQLITE
sqlite:/path/to/database To create a database in memory, use: sqlite::memory:
The dsn parameter supports three
different methods of specifying the arguments required to create
a database connection:
- Driver invocation
dsn contains the full DSN.
- URI invocation
dsn consists of uri:
followed by a URI that defines the location of a file containing
the DSN string. The URI can specify a local file or a remote URL.
uri:file:///path/to/dsnfile - Aliasing
dsn consists of a name
name that maps to
pdo.dsn.name in php.ini
defining the DSN string.
注:
The alias must be defined in php.ini, and not .htaccess or httpd.conf
- username
The user name for the DSN string. This parameter is optional for
some PDO drivers.
- password
The password for the DSN string. This parameter is optional for
some PDO drivers.
- driver_options
A key=>value array of driver-specific connection options.
返回值
Returns a PDO object on success.
异常
PDO::construct() throws a PDOException if the attempt
to connect to the requested database fails.
例
例子 1. Create a PDO instance via driver invocation
<?php // Connect to an ODBC 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(); }
?>
|
|
例子 2. Create a PDO instance via URI invocation
The following example assumes that the file
/usr/local/dbconnect exists with file permissions
that enable PHP to read the file. The file contains the PDO DSN to
connect to a DB2 database through the PDO_ODBC driver:
odbc:DSN=SAMPLE;UID=john;PWD=mypass |
The PHP script can then create a database connection by simply
passing the uri: parameter and pointing to
the file 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. Create a PDO instance using an alias
The following example assumes that php.ini contains the following
entry to enable a connection to a MySQL database using only the
alias mydb:
[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(); }
?>
|
|
|  |