Cuando tenemos un error conectando o realizando operaciones con la base de datos (MySQL) usando CodeIgniter, lo normal es que el sistema nos muestre un mensaje por defecto con el código, descripción y query ejecutado, tal que así:
Esta página de error se puede personalizar editando la plantilla /errors/error_db.php en nuestra carpeta de la aplicación. El problema es que este mensaje se mostrará en lugar de nuestra vista o en medio de ella, y además se mostrará siempre a menos que desactivemos la opción de debug de la base de datos, y si lo hacemos nuestra aplicación fallará silenciosamente, no tenemos forma de capturar este error y realizar las operaciones que nos convengan, lo cual sería especialmente útil cuando hacemos peticiones ajax.
Para solucionar esto existen dos métodos no documentados en la clase DB que nos permite capturar el mensaje de error y el número:
$this->db->_error_message() y $this->db->_error_number().
Estos métodos son envoltorios de las funciones mysql_error() y mysql_errno() de php. En la documentación de mysql podemos encontrar el listado de códigos de errores que nos devuelve mysql_errno() (y por lo tanto $this->db->_error_number()), por si nos interesa realizar distintas operaciones según el tipo de error ocurrido.
Como ejemplo os mostraré una forma sencilla de gestionar estos mensajes de error:
En primer lugar debemos desactivar el debug de la base de datos poniendo la opción $db[‘default’][‘db_debug’] a FALSE en el archivo /config/database.php.
Después en nuestro método del modelo, tras el query a la BD podemos poner:
if($data['error'] = $this->db->_error_message()); return $data; |
En el controlador recogeremos esta variable devuelta y la pasaremos a la vista, y en la parte de la vista que nos interese pondremos:
<?php if(isset($error)) echo '<div class="error">'.$error.'</div>';?> |
De la misma manera podemos manejar los errores vía ajax devolviendo esta variable codificada con json en nuestro controlador y gestionándola en el javascript de la vista.
Finalmente, ante la avalancha de peticiones espero volver en breve con un último videotutorial sobre CodeIgniter.
sbnation.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
browse around this website
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
more info here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
simply click the next internet page
blog topic
just click the next article
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
head to the Producthunt site
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
please click the next internet page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
click this link
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Our Webpage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
http://www.viki.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
why not try here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Recommended Online site
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
new post from dreevoo.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Click Webpage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Ava 360 published an article
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Hahalolo explained in a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Full Document
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
https://avader.org/profile/user/businessdaily123
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
visit my homepage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
just click the up coming post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
learn more about http://www.party.biz
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
https://bookmarkextent.com/user/businessdaily123
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Kdpcommunity published a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
please click Uniquethis
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Recommended Browsing
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Learn Even more
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
More Material
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
http://www.eater.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
just click Blogfreely
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
https://www.cakeresume.com/me/daily-business
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
her comment is here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Myvipon.com explained in a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
sitereport.netcraft.com said
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
bookmarkbirth.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Bookmark Template site
blog topic
you could try here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
published on truereason.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
visit these guys
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
go to website
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
visit Gooncloud here >>
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
look at here now
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
click the next internet page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
official source
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Suggested Webpage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
More hints
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
recent post by lovesomething.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Yoga Stretch
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
see here now
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
intimatefriend.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web