From 6fc54cd61897d3a953514fda94df587fdac4676b Mon Sep 17 00:00:00 2001 From: Aidan Lister Date: Sun, 20 Feb 2005 05:37:59 +0000 Subject: [PATCH] Added information about each drivers DSN git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@180159 c90b9560-bf6c-de11-be94-00142212c4b1 --- reference/pdo/functions/PDO-construct.xml | 123 +++++++++++++++++----- 1 file changed, 98 insertions(+), 25 deletions(-) diff --git a/reference/pdo/functions/PDO-construct.xml b/reference/pdo/functions/PDO-construct.xml index 3c91107d2a..5597e5461f 100644 --- a/reference/pdo/functions/PDO-construct.xml +++ b/reference/pdo/functions/PDO-construct.xml @@ -1,5 +1,5 @@ - + PDO::__construct @@ -28,20 +28,90 @@ 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 consists of the PDO driver name, followed - by a colon, followed by the PDO driver-specific connection syntax. - For example, 'odbc:DSN=SAMPLE;UID=db2inst1;PWD=ibmdb2' - would create a PDO_ODBC connection to an ODBC database, while - 'mysql:host=127.0.0.1;dbname=testdb' would create - a PDO_MYSQL connection to a MySQL database. + dsn contains the full DSN. @@ -52,6 +122,7 @@ 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 @@ -60,8 +131,7 @@ dsn consists of a name name that maps to pdo.dsn.name in &php.ini; - defining the DSN string. name can not contain - a colon. + defining the DSN string. @@ -118,17 +188,17 @@ getMessage(); } + ?> ]]> @@ -140,11 +210,11 @@ catch (PDOException $e) { that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver: - + - + The PHP script can then create a database connection by simply passing the uri: parameter and pointing to @@ -153,17 +223,17 @@ odbc:DSN=SAMPLE;UID=db2inst1;PWD=password getMessage(); } + ?> ]]> @@ -173,22 +243,25 @@ catch (PDOException $e) { 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.dsn.mydb=mysql:dbname=testdb;host=127.0.0.1 + +[PDO] +pdo.dsn.mydb="mysql:dbname=testdb;host=localhost" + getMessage(); } + ?> ]]>