Elegir una API
PHP Manual
PHP Manual»Visión general de los drivers PHP MySQL»Elegir una API

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 Sí Sí
Estado de desarrollo Activo Activo
Ciclo de vida Activo Activo
Recomendado para nuevos proyectos Sí Sí
Interfaz orientada a objetos Sí Sí
Interfaz procedimental Sí No
La API soporta consultas no bloqueantes, asíncronas con mysqlnd Sí No
Conexiones persistentes disponibles Sí Sí
La API soporta juegos de caracteres Sí Sí
La API soporta consultas preparadas del lado del servidor Sí Sí
La API soporta consultas preparadas del lado del cliente No Sí
La API soporta procedimientos almacenados Sí Sí
La API soporta consultas múltiples Sí La mayoría
La API soporta transacciones Sí Sí
Las transacciones pueden controlarse con SQL Sí Sí
Soporta todas las funcionalidades de MySQL 5.1+ Sí La mayoría
To Top