Debo decir que hay 3 APIs (Interfaz de programación de aplicaciones) principales en PHP cuando hablamos de conexión con MySQL:
- Extensión MySQL de PHP
- Extensión Mysqli de PHP
- Objetos de Datos de PHP (PDO)
Cada una tiene sus ventajas e inconvenientes pero aquí solo hablaré de manera general de Mysqli.
La extensión mysqli (mysql mejorada) permite acceder a la funcionalidad proporcionada por MySQL 4.1 y posterior. Ofrece una interfaz dual. Soporta el paradigma de programación procedimental y el orientado a objetos. Utilizar mysqli tiene numerosas mejoras sobre la extensión mysql como:
- Interfaz orientada a objetos
- Soporte para Declaraciones Preparadas
- Soporte para Múltiples Declaraciones
- Soporte para Transacciones
- Mejoradas las opciones de depuración
- Soporte para servidor empotrado
Se puede utilizar tanto con orientación a objetos como no orientado a objetos (estructurado), veamos algunos ejemplos.
Ejemplo estructurado:
[code language=»php»]
<?php
$mysqli = mysqli_connect(«ejemplo.com», «usuario», «contraseña», «basedatos»);
if (mysqli_connect_errno($mysqli)) {
echo «Fallo al contenctar a MySQL: » . mysqli_connect_error();
}
$resultado = mysqli_query($mysqli, «SELECT ‘Un mundo lleno de ‘ AS _msg FROM DUAL»);
$fila = mysqli_fetch_assoc($resultado);
echo $fila[‘_msg’];
¿>
[/code]
Ejemplo con orientación a objetos:
[code language=»php»]
<?php
$mysqli = new mysqli(«ejemplo.com», «usuario», «contraseña», «basedatos»);
if ($mysqli->connect_errno) {
echo «Fallo al contenctar a MySQL: » . $mysqli->connect_error;
}
$resultado = $mysqli->query(«SELECT ‘elecciones para complacer a todos.’ AS _msg FROM DUAL»);
$fila = $resultado->fetch_assoc();echo $fila[‘_msg’];
?>
[/code]
Recuerda que en este caso el servidor es “ejemplo.com” pero si estás trabajando de manera local usas el “localhost”. Ahora bien, en este caso solo necesitamos escribir el servidor, usuario, contraseña y base de datos. Para el resto de parámetros el método intenta usar los valores predeterminados por “default”. Dichos parámetros son:
mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=»»
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock
Espero que con esto quede clara la utilización del Mysqli pero si quieres más información te recomiendo:
TIP: No olvides que para hacer uso de la extensión, la debes tener activa en php y lo puedes ver desde el phpinfo();
3 ideas sobre “Mysqli : ¿qué es? ¿para qué sirve?, ¿cómo se usa?”
Entonces, se puede decir que Mysqli es mejor que Mysql ??
Si Franco, de hecho es una mejora, aquí puedes ver más sobre como usarlo ¡Bonito día!
Excelente artículo, sin duda alguna tenemos que saber que lo viejo se va quedando atrás. Es una desgracia que aún se siga usando la extensión MySql en lugar de MySqli. Sólo te faltó agregar que la nueva extensión no sólo se mejoró en cuanto a usabilidad, sino también a seguridad. Saludos.