Tecnología

Inicio

PHP Tutorial sobre Excepciones de base de datos

Cuando se usa PHP para conectarse a una base de datos, como MySQL o SQL Server, pueden ocurrir varios problemas, incluyendo la información de acceso indebido a la falta de tablas a las consultas que fallan. Programar un controlador de excepciones para detectar errores para que pueda manejarlos adecuadamente. El manejo de excepciones en PHP implica el método "probar, lanzar y atrapar". En primer lugar, "intenta" para ejecutar una función o algún bloque de código. Si ese código falla, "tirar" la excepción a un controlador, que la "agarra" e impide la página web desde donde se presentan los resultados deseados.

Instrucciones

1 Abra el archivo HTML. Insertar el cursor donde desea manejar una posible excepción.

2 Escriba el siguiente código:

tratar {

$ Conn = mysql_connect ($ DBHost, dbusername $, $ dbpass);

Esto hace que el intento de realizar una acción; en este caso, el establecimiento de una conexión a una base de datos MySQL. También puede tratar de conectarse a otras bases de datos, por ejemplo mediante el uso de la función ") (odbc_connect" para conectarse a una base de datos Microsoft Access. El proceso de tratamiento de excepciones sigue siendo el mismo.

3 Escriba el siguiente código:

if ($ dap === false) {throw new Excepción (1); } Else {

mysql_select_db ($ dbName);

$ Consulta = mysql_query ( "SELECT * FROM tabla");

if ($ consulta === false) {throw new Excepción (2); }

}

La primera sentencia if comprueba para ver si un PHP realiza una conexión a una base de datos. Si no, se produce una excepción y pasa a "1" como el mensaje de excepción. Puede cambiar este valor a algo más comprensible. Si se establece la conexión, el código a continuación, intenta consultar una tabla. Si este intento no tiene éxito, por ejemplo debido a que la tabla no existe, PHP genera una excepción y pasa a "2" como el mensaje de excepción. El código a continuación, cierra los bloques de instrucciones y si el bloque try. Lanzar excepciones adicionales adecuados en función de qué tipo de interacciones su código hace con la base de datos.

4 Escriba el siguiente código:

catch (Exception $ e) {

si (== 1 $ e-> getMessage ()) {

echo "No se puede iniciar sesión en la base de datos.";

} Elseif ($ e-> getMessage () == 2) {

echo "No se puede ejecutar la consulta.";

}

}

Cuando PHP emite una excepción de base de datos, el bloque catch se ejecuta. Estas líneas utilizan la variable $ excepción de correo y extraer el mensaje que se le pasa. Si PHP no podía conectarse a una base de datos, el primer mensaje de error, se ha publicado en la página web. Si no se pudo consultar la base de datos, se imprime el segundo mensaje. Escribe excepciones adicionales dentro del bloque de captura para otros posibles errores.

5 Guarde el archivo HTML y subirlo a su servidor Web.

Consejos y advertencias

  • Cuando se lanza un objeto en el código, pasar una instancia de la clase de excepción al bloque catch. De lo contrario, PHP devuelve un error de programación.