PHP Conexión y recuperación de PDO básica


Ejemplo

Desde PHP 5.0, PDO ha estado disponible como una capa de acceso a la base de datos. Es independiente de la base de datos, por lo que el siguiente código de ejemplo de conexión debería funcionar para cualquiera de sus bases de datos compatibles simplemente cambiando el DSN.

// First, create the database handle

//Using MySQL (connection via local socket):
$dsn = "mysql:host=localhost;dbname=testdb;charset=utf8";

//Using MySQL (connection via network, optionally you can specify the port too):
//$dsn = "mysql:host=127.0.0.1;port=3306;dbname=testdb;charset=utf8";

//Or Postgres
//$dsn = "pgsql:host=localhost;port=5432;dbname=testdb;";

//Or even SQLite
//$dsn = "sqlite:/path/to/database"

$username = "user";
$password = "pass";
$db = new PDO($dsn, $username, $password);

// setup PDO to throw an exception if an invalid query is provided
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Next, let's prepare a statement for execution, with a single placeholder
$query = "SELECT * FROM users WHERE class = ?";
$statement = $db->prepare($query);

// Create some parameters to fill the placeholders, and execute the statement
$parameters = [ "221B" ];
$statement->execute($parameters);

// Now, loop through each record as an associative array
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    do_stuff($row);
}

La función de prepare crea un objeto PDOStatement partir de la cadena de consulta. La ejecución de la consulta y la recuperación de los resultados se realizan en este objeto devuelto. En caso de una falla, la función devuelve false o lanza una exception (dependiendo de cómo se configuró la conexión PDO).