PDO::__construct

(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

Descripción

public PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter] ?string $password = null,
    ?array $options = null
)

Crea un objeto PDO que representa una conexión a la base de datos.

Parámetros

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:

Invocación de controlador

dsn contiene el DSN completo.

Invocación URI

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

Aliasing

dsn está compuesto por un nombre name que corresponde a pdo.dsn.name en el fichero php.ini, y que define la cadena DSN.

Nota:

El alias debe ser definido en el fichero php.ini, y no en un fichero .htaccess o httpd.conf

username

El nombre de usuario para la cadena DSN. Este parámetro es opcional para algunos controladores PDO.

password

La contraseña de la cadena DSN. Este parámetro es opcional para algunos controladores PDO.

options

Un array clave=>valor con las opciones específicas de conexión.

Errores/Excepciones

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.

Ejemplos

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);

?>