Diferencia entre revisiones de «Usuario:Lmorillas/desarrollo web servidor/php/pdo»
De WikiEducator
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | {{MiTitulo|PDO: PHP Data Objects}} | + | <noinclude>{{MiTitulo|PDO: PHP Data Objects}}</noinclude> |
− | + | ||
− | + | ||
− | + | ||
{{Conocimiento previo|Title=PDO| | {{Conocimiento previo|Title=PDO| | ||
Línea 27: | Línea 24: | ||
** Manejo de errores: http://www.php.net/manual/es/pdo.error-handling.php | ** Manejo de errores: http://www.php.net/manual/es/pdo.error-handling.php | ||
* http://www.mclibre.org/consultar/php/lecciones/php_db_pdo.html | * http://www.mclibre.org/consultar/php/lecciones/php_db_pdo.html | ||
+ | * http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers | ||
+ | * http://net.tutsplus.com/tutorials/php/php-database-access-are-you-doing-it-correctly/ | ||
+ | * SQLite: http://net-wrench.com/cheat-sheets/SQLITE_php_pdo_reference.pdf | ||
}} | }} | ||
Última revisión de 00:43 7 feb 2014
¿Qué es PDO?
Ventajas
ComponentesTres clases:
|
Drivers instaladosprint_r(PDO::getAvailableDrivers()); 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úsquedahttp://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;
|
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 )); ?> Tip: Para utilizar conexiones persistentes, hay que configurar PDO::ATTR_PERSISTENT en el array de opciones de drivers pasándoselo al constructor PDO.
|