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.
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.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.