(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::__construct — Crea una instancia PDO que representa una conexión a la base de datos
$dsn,$username = null,$password = null,$options = nullCrea un objeto PDO que representa una conexión a la base de datos.
dsn
El Data Source Name, o DSN, que contiene las
informaciones requeridas para conectarse a la base de datos.
Generalmente, un DSN está compuesto por el nombre del controlador PDO, seguido de una sintaxis específica del controlador. Más detalles están disponibles en la documentación PDO de cada controlador.
El parámetro dsn soporta tres métodos diferentes
para especificar los argumentos necesarios para la creación de la base de datos:
dsn contiene el DSN completo.
dsn está compuesto por uri:
seguido por una URI que define la localización del fichero que contiene
la cadena DSN. La URI puede especificar un fichero local o remoto.
uri:file:///path/to/dsnfile
dsn está compuesto por un nombre
name que corresponde a
pdo.dsn. en el fichero php.ini,
y que define la cadena DSN.
name
Nota:
El alias debe ser definido en el fichero php.ini, y no en un fichero .htaccess o httpd.conf
usernameEl nombre de usuario para la cadena DSN. Este parámetro es opcional para algunos controladores PDO.
passwordLa contraseña de la cadena DSN. Este parámetro es opcional para algunos controladores PDO.
optionsUn array clave=>valor con las opciones específicas de conexión.
Se lanza una excepción PDOException si el intento
de conexión a la base de datos solicitada falla,
independientemente del PDO::ATTR_ERRMODE actualmente definido.
Ejemplo #1 Crea una instancia PDO mediante una invocación de controlador
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
?>Ejemplo #2 Crea una instancia PDO mediante una invocación URI
El ejemplo siguiente supone que el fichero /usr/local/dbconnect existe con permisos de acceso que permiten a PHP acceder a él. El fichero contiene entonces el DSN de PDO, para conectarse a una base de datos DB2, con el controlador PDO_ODBC:
odbc:DSN=SAMPLE;UID=john;PWD=mypass
El script PHP puede entonces crear una conexión a la base de datos, pasando
en la URL el parámetro uri: y apuntando a la URI del fichero:
<?php
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>Ejemplo #3 Crea una instancia PDO con un alias
El ejemplo siguiente supone que el fichero php.ini contiene la directiva
siguiente para activar una conexión a un servidor MySQL, con el alias
mydb:
[PDO] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
$dsn = 'mydb';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>