(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::__construct — Crea una instancia de PDO representando una conexión a la base de datos
$dsn
[, string $username
[, string $password
[, array $driver_options
]]] )Crea una instancia de PDO para representar una conexión a la base de datos solicitada.
EL nombre de origen de datos (DSN, Data Source Name en inglés), contiene la información requerida para conectarse a la base de datos.
En general, un DSN consiste en el nombre del driver PDO, seguido por dos puntos, seguido por la sintaxis específica del driver PDO para la conexión. Más información está disponible en la documentación específica del driver PDO.
El parámetro dsn
soporta tres
métodos diferentes para especificar los parámetros requeridos para crear
la conexión a la base de datos:
dsn
contiene el DSN completo.
dsn
está formado por uri:
seguido por un URI que define la ubicación de un archivo que contiene
una cadena con el DSN. El URI puede especificar un archivo local o una URL remota.
uri:file:///path/to/dsnfile
dsn
está formado por un nombre
name
que mapea a
pdo.dsn.
en php.ini
definido en la cadena de DSN.
name
Nota:
El alias debe estar definido en php.ini, y no en .htaccess o httpd.conf
El nombre de usuario para la cadena DSN. Este parámetro es opcional para algunos drivers PDO.
La contraseña para la cadena DSN. Este parámetro es opcional para algunos drivers PDO.
Un array de la forma clave=>valor con opciones específicas del driver para la conexión.
Devuelve un objeto PDO en caso de éxito.
PDO::__construct() lanza una PDOException si el intento de conexión a la base de datos requerida falla.
Ejemplo #1 Crea una instancia PDO a través de una invocación del driver
<?php
/* Conectar a una base de datos ODBC invocando al driver */
$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();
}
?>
Ejemplo #2 Crear una instancia PDO a través de un URI
El siguiente ejemplo asume que el archivo /usr/local/dbconnect existe, con los permisos necesarios para que PHP lea el archivo. Éste contiene el DSN para el PDO necesario para conectarse a una base de datos DB2 a través de un driver PDO_ODBC:
odbc:DSN=SAMPLE;UID=john;PWD=mypass
El programa PHP puede crear una conexión a una base de datos simplemente pasando el parámetro uri: y apuntando al fichero URI:
<?php
/* Conectar a la base de datos ODBC invocando al driver */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
Ejemplo #3 Crea una instancia de PDO usando un alias
El siguiente ejemplo asume que php.ini contiene la siguiente entrada para permitir la conexión a una base de datos MySQL usando sólo el alias mydb:
[PDO] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Conectar a la base de datos ODBC invocando al driver */
$dsn = 'mydb';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>