Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Solucionar errores con MySQL
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Solucionar errores con MySQL

Cuando realizamos una consulta incorrecta a nuestra base de datos de MySQL usando por ejemplo mysql_query , PHP no nos informará de que ha sucedido un error, sinó que continuará funcionando normalmente hasta que intentemos acceder al resultado de la consulta con por ejemplo mysql_fetch_array , momento en el que podremos o no recibir un aviso como el siguiente: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in [...] Esto sucede porque PHP no se preocupa de los errores que puedan suceder en el servidor de bases de datos, pero cuando intenta trabajar con el array que contiene los resultados, se encuentra que no hay datos y nos da el aviso o simplemente nuestra aplicacion no funciona.

Para solucionar esto, usaremos la función mysql_error , esta función aplicada después de la consulta que nos da el error o que creemos que nos puede dar el error, nos dará todos los detalles del error en la última operación con la base de datos indicada.

Conociendo este error ya podremos modificar nuestra consulta para solucionar el problema, vamos a imaginar que tenemos un error en la siguiente consulta y no sabemos lo que pasa:

<?
mysql_select_db ( "db_1" , $db );
mysql_query ( "SELECT * FROM tablaInexistente" , $db );
?>

En este caso, o recibiremos un error de PHP al trabajar con los datos de la consulta o los datos serán en blanco, entonces ya sabemos que esta es la consulta que no funciona y miraremos porqué:

<?
mysql_select_db ( "db_1" , $db );
mysql_query ( "SELECT * FROM tablaInexistente" , $db );
echo mysql_error ( $db ) . "n" ;
?>

Y obtendremos el siguiente resultado por pantalla: Table 'db_1.tablaInexistente' doesn't exist Bueno, no hace falta haber estudiado en Oxford para entender el problema, la tabla tablaInexistente no existe, asi que tendremos que crearla primero para evitar que el problema persista.

De esta manera podremos ir solucionando los problemas que nos surjan al trabajar con una base de datos de MySQL, vereis que el mensaje de error suele ser bastante claro.

Artículo por cortesía de Eloi de San Martín
www.programacionweb.net

 



Usuarios que han visto este tema también han visto...

- Como proteger carpetas web con PHP
- Crear un foro en PHP y Mysql
- Nube de etiquetas a partir de una base de datos
- printf() y sprintf() en PHP
- Convertir campo de fecha en formato europeo


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 26-05-2012 a las 05:02:53