Crea una instancia PDO que representa una conexión a la base de datos

# 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 function 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`

  Alias

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

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open