Habilitar errores con MySQLi (MySQL y PHP)

En este post te mostraré cómo depurar errores de MySQL al usar PHP con MySQLi. Es decir, mostrar los errores o advertencias, ya que por defecto MySQLi va a ignorar los errores y no nos avisará si tenemos un error con nuestras consultas SQL.

Por ello es que hoy te mostraré cómo hacer que mysqli muestre los errores y advertencias SQL al insertar, actualizar o llamar a procedimientos almacenados.

Depurar errores de SQL y MySQLi con mysqli_report

Esto es muy fácil de hacer. Simplemente antes de hacer tu conexión de PHP a MySQLi, invoca a la función mysqli_report pasándole una bandera. Yo te recomiendo la bandera MYSQLI_REPORT_ERROR.

Por ejemplo, aquí la invoco así antes de hacer una conexión:

<?php
mysqli_report(MYSQLI_REPORT_ERROR); // <-- Justo aquí
$this->conexion = new mysqli($this->servidor,$this->usuario,$this->contrasena,$this->basedatos);
$this->conexion->set_charset("utf8")

Lo importante es la línea 2, pues de ese modo habilitamos los errores de MySQLi para que nos indique si hay algún problema. Por ejemplo, a mí me reportó el siguiente error:

Warning: mysqli::query(): (42S02/1146): Table ‘tabla’ doesn’t exist in C:\xampp\htdocs\archivo.php</b> on line 103

A partir de eso ya podemos investigar más a fondo los errores que se generan en MySQL. Encuentras más información sobre la función aquí expuesta en el sitio oficial de php.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *