Está en la página 1de 8

PHP & MySQL

Módulo 8

PHP & MySQL


Manejo de errores

PHP & MySQL


Manejo de errores
Una de las cuestiones principales a la hora de hacer
buenos programas es poder ofrecer un “plan B” en
caso de que el programa no salga como se esperaba.
La capacidad de un programa de ofrecer respuesta
ante posibles errores o sucesos no previstos es
fundamental para su efectividad.

En esta ocasión vamos a definir un curso de acción


alternativo en el caso en que haya fallado la conexión
a la base de datos. Es importante verificar esto antes
de realizar cualquier operación para prevenir errores.

PHP & MySQL


Por ejemplo, si falla la conexión a la base de datos
en un código que borra registros de una base de
datos, obtenemos los siguientes errores:

PHP & MySQL


MySQLi arroja errores del tipo E_WARNING El problema es que, si falla la conexión, todas las
(Advertencia). Estos errores informan al demás funciones fallaran, ya que dependen de
usuario pero no interrumpen la ejecución tener una conexión exitosa. ¿Cómo podemos
del programa. solucionar esto?

PHP & MySQL


Una forma puede ser la siguiente:
el operador OR (||) evalúa la primera condición
(lo que está a la izquierda) y luego evalúa lo que
tiene a la derecha. Lo interesante de este
operador es que evalúa lo que tiene a la
derecha sólo si lo que tiene a la izquierda
resultó ser falso. Esto es lo que lo hace tan útil
para definir caminos alternativos.
Muchas funciones en PHP (incluyendo las de
MySQLi) devuelven el resultado que se espera,
pero devuelven falso en caso de fallar algo. Al
devolver falso, podemos evaluarlas mediante un
OR ( || ) y así asignar caminos alternativos.

PHP & MySQL


¿Qué camino alternativo asignamos? La función
die() termina el programa con un mensaje de
error. Si falla la conexión, el resultado será el
siguiente:

Al ocurrir un error en la conexión, la función


mysqli_connect retorna false. Al retornar dicho
valor, el programa ejecuta la función die() que
termina su ejecución en ese momento,
previniendo la ejecución de funciones MySQLi
erróneas.

PHP & MySQL


¡Muchas gracias!
¡Sigamos trabajando!

PHP & MySQL

También podría gustarte