PHP 8.5.0 Alpha 2 available for testing

Elegir una API

PHP ofrece diferentes APIs para conectarse a MySQL. A continuación, se encuentran las APIs proporcionadas por las extensiones mysqli y PDO. Cada ejemplo de código crea una conexión a un servidor MySQL que se ejecuta en el dominio "example.com", utilizando el nombre de usuario "user", la contraseña "password". Y se ejecuta una consulta para saludar al usuario.

Ejemplo #1 Comparación de las APIs MySQL

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT '¡Hola, querido usuario de MySQL!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo
htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT '¡Hola, querido usuario de MySQL!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo
htmlentities($row['_message']);

Comparación de funcionalidades

El rendimiento global de las dos extensiones puede considerarse idéntico. Sin embargo, el rendimiento de la extensión constituye solo una fracción del tiempo total de ejecución de una solicitud web PHP. A menudo, el impacto es inferior al 0.1%.

  ext/mysqli PDO_MySQL
Introducida en la versión de PHP 5.0 5.1
Incluida con PHP 7.x y 8.x
Estado de desarrollo Activo Activo
Ciclo de vida Activo Activo
Recomendado para nuevos proyectos
Interfaz orientada a objetos
Interfaz procedimental No
La API soporta consultas no bloqueantes, asíncronas con mysqlnd No
Conexiones persistentes disponibles
La API soporta juegos de caracteres
La API soporta consultas preparadas del lado del servidor
La API soporta consultas preparadas del lado del cliente No
La API soporta procedimientos almacenados
La API soporta consultas múltiples La mayoría
La API soporta transacciones
Las transacciones pueden controlarse con SQL
Soporta todas las funcionalidades de MySQL 5.1+ La mayoría
add a note

User Contributed Notes 2 notes

up
39
alvaro at demogracia dot com
13 years ago
Apart from the feature list, I suggest you try out both MySQLi and PDO and find out what API design you like most. MySQLi is more powerful and probably more complex to learn. PDO is more elegant and has the advantage that you only need to learn one PHP API if you need to work with different DBMS in the future.
up
13
rellect at gmail dot com
6 years ago
Another point to consider and one of the advantages of PDO is that it's not limited to mysql and supports other database engines such as PostgreSQL, SQLite, etc.
To Top