Cómo manejar errores mysql
Utilice las funciones mysqli del lenguaje PHP, como mysqli_connect y mysqli_query, para interactuar con la base de datos MySQL. A veces las cosas van a salir mal cuando usted utiliza las declaraciones. Usted puede hacer un error en su escritura, como escribir mal el nombre de la base de datos. A veces, surgen problemas que no se pueden evitar, como la base de datos o la red de estar abajo.
Es necesario incluir el código en el script que se encarga de las situaciones de error.
Generalmente, usted quiere hacer el manejo de su error más descriptivo para ayudar a solucionar los problemas durante el desarrollo, pero no desea que la información adicional que se muestra al público.
Por ejemplo, supongamos que usted está utilizando una cuenta llamada root para acceder a su base de datos y usted comete un error tipográfico, como en las siguientes afirmaciones:
$ host = "localhost" - $ user = "rot" - $ password = "" - $ cxn = mysqli_connect ($ host,$usuario,$clave)
Debido a que usted escribe "rot" en lugar de "root", verá un mensaje de advertencia similar a este:
Advertencia: Acceso denegado para el usuario: "rot @ localhost '(Uso de la contraseña: NO) ...
El mensaje de error anterior contiene la información que usted necesita para averiguar el problema - que muestra el nombre de la cuenta que incluye el error tipográfico.
Sin embargo, después de la secuencia de comandos se ejecuta y los clientes lo están utilizando, que no quiere que sus usuarios vean un mensaje de error técnico que muestra su ID de usuario. Usted quiere dar vuelta a los errores de PHP fuera o enviarlos a un archivo de registro de errores. A continuación, puede utilizar un morir declaración para detener la secuencia de comandos y mostrar un mensaje amable con el usuario, de la siguiente manera:
$ cxn = mysqli_connect ($ host,$usuario,$password) or die (". El catálogo no está disponible en estos momentos Por favor, intente de nuevo más tarde.") -
Cuando un mysqli_query () función falla, MySQL devuelve un mensaje de error que contiene información acerca de la causa de la falla. Sin embargo, este mensaje no se muestra a menos que usted específicamente mostrarlo. Una vez más, es posible que desee ver estos mensajes cuando se está desarrollando el guión, pero puede que no desee para mostrarlos al público. Puede mostrar el error de MySQL que se devuelve mediante el uso de la siguiente función:
mysqli_error ($ cxn)
Por ejemplo, podría incluir la función en el código, de la siguiente manera:
$ query = "SELECT * FROM Cust" - resultado $ = mysqli_query ($ cxn, $ consulta) or die ("Error:" .mysqli_error ($ cxn)) -
En este ejemplo, si la llamada de función falla, el morir declaración muestra el error de MySQL, que puede ser algo como esto:
Error: Tabla 'catalog.cust' no existe
De vez en cuando, es posible que desee realizar acciones adicionales si la función falla, tales como eliminar variables o cerrar la conexión de base de datos. Puede llevar a cabo este tipo de acciones mediante el uso de una sentencia condicional:
(! $ resultado = mysqli_query ($ cxn, $ consulta)) {echo si mysqli_error ($ cxn) -unset ($ auth) -exit () -}
Si la llamada función falla, las declaraciones en el si bloque se ejecutan. los eco declaración muestra el error de MySQL devuelto por la función. Se extrae una variable y el guión sale.
Note la ! (signo de exclamación) en el si comunicado. ! medio "no". En otras palabras, la si afirmación es cierta si la instrucción de asignación no es cierto.