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.



car Shows
blog topic
intimatefriend.click noted
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Internet Page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
what is nasal wash
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
buitenlands casino
blog topic
Live Score
blog topic
today sport news in hindi
blog topic
Lovesomething`s blog
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
immune boosting syrup
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
just click Onemorestep
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
contemporary classical music albums
blog topic
red ginseng jelly
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
what is medical salt
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
sport news of india
blog topic
9seed published a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
calcium supplements
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
купить крепление для цветов
blog topic
new post from naturespirit.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
панель для хранения инструментов
blog topic
держатель для подвесных цветов
blog topic
big boobs romantic porn
blog topic
9seed.click said in a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Truereason.click published an article
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
brown rice
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
кронштейн для цветов белый
blog topic
Calmlife`s statement on its official blog
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
official http://www.cap-dieu-khien-chong-nhieu-sangjin.xyz blog
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
information from thewayofspirit.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
use 9signal.click here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
купить фейерверк в минске
blog topic
read this blog article from truereason.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
tepung roti terbaik
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
thewayofspirit.click wrote
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
jasa pembuatan website dan seo
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
jameliz benitez smith sexy naked
blog topic
new post from onefinething.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Full File
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
click here to visit Businessdaily for free
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
google travel
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Luz Holidays
blog topic
yoga to reduce waist
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
ремонт окон Masters-Okon
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
information from lovesomething.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Power Yoga
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
reviews over at Naturespirit
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
similar internet page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
review
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
https://willbefine.click/yoga/tim-lai-giac-ngu-ngon-nho-yoga-n331.html
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Highly recommended Webpage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
via hottips.click
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web