Diferencia entre revisiones de «Usuario:Lmorillas/desarrollo web servidor/php/pdo»

De WikiEducator
Saltar a: navegación, buscar
Línea 1: Línea 1:
<noinclude>{{MiTitulo|PDO: PHP Data Objects}}
+
<noinclude>{{MiTitulo|PDO: PHP Data Objects}} </noinclude
  
__TOC__ </noinclude
+
__TOC__
  
 
{{Conocimiento previo|Title=PDO|
 
{{Conocimiento previo|Title=PDO|

Revisión de 12:10 15 ene 2014

print_r(PDO::getAvailableDrivers()); </source>

Ej. Conexión

# MySQL
$conn = new PDO("mysql:host = $host; dbname = $baseDatos", $usuario, $contraseña);
 
# PostgreSQL
$conn = new PDO("pgsql:host = $host port = $puerto dbname = $baseDatos", $usuario, $contraseña);

Ej. Completo

$id = 5;
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
    $stmt->execute(array('id' => $id));
    while($row = $stmt->fetch()) {
        print_r($row);
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

Búsqueda

http://www.php.net/manual/es/pdo.query.php

<?php
function getFruit($conn) {
    $sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
        print $row['color'] . "\t";
        print $row['calories'] . "\n";
    }
}
?>

Cerrar conexión

$conn = null;

}}



Icon preknowledge.gif

Conexiones Persistentes

Las conexiones persistentes no son cerradas al final del script. Son reutilizadas cuando otro script solicita una conexión usando las mismas credenciales. Una caché de la conexión optimiza el rendimiento.

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));
?>
Icon present.gif
Tip: Para utilizar conexiones persistentes, hay que configurar PDO::ATTR_PERSISTENT en el array de opciones de drivers pasándoselo al constructor PDO.