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.



гостевые дома на сутки
Not Acceptable!
Как выбрать гостевые дома посуточно
Not Acceptable!
Read the Full Piece of writing
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
read more on Flipboard`s official blog
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
broker forex
blog topic
血竭的功能主治
blog topic
address here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
billiard accessories
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
bitchute.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
internet site
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Cap Dieu Khien Chong Nhieu Sangjin Chinh Hang blog entry
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
hemen oku
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
forum.index.hu noted
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
look at more info
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
right here on findaspring.org
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
http://www.blurb.com website
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
jobs.lajobsportal.org blog entry
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Home Page
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
GARDEN SHED AUSTRALIA GARDEN SHED AUSTRALIA
blog topic
Vitamin33 – Slot hoki untuk depo kecil
blog topic
blacksocially.com wrote in a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
published on myspace.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
https://git.guildofwriters.org/be5rice
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
os.mbed.com
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
recent post by Friendstrs
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Pastelink explained in a blog post
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
my response
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
the advantage
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
by Spiderum
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Tooter official blog
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
宝莱坞性视频
blog topic
Hello to every one, the contents present at this website are actually awesome for
people experience, well, keep up the nice work fellows.
What is Sivananda yoga
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
related web site
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
คลิปหลุด168
blog topic
today’s sport news in english
blog topic
cricket
blog topic
Bathroom designs and functional bright
blog topic
Gentle yoga
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
why not find out more
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
go here
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
sport news today
blog topic
sport news india
blog topic
live cricket
blog topic
Today sport news
blog topic
Live Cricket score
blog topic
what is macadamia
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Nasal irrigation bottle
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Yoga Tree Pose
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
เย็ดดี
blog topic