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.



เว็บใหญ่ VENUS168
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
MUNMELLO ไม่มีขั้นต่ำ
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
brb969 สล็อตแตกง่าย
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
argus168 เครดิตฟรี
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Lace Wigs
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Mẫu Äá»ng há» nữ Äẹp 2024
blog topic
ezproxy.ttuhsc.edu
blog topic
ste b2b
blog topic
Túi xách công sá» nữ Äẹp
blog topic
Fashionable women’s handbags
blog topic
Tất cả các loại quần nam
blog topic
Sakartvelo
blog topic
Simple evening dress models
blog topic
주소광장
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
branded women’s office handbags
blog topic
Продолжить…
blog topic
buy penis enlargement pills
blog topic
bokep
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
let’s play
blog topic
Cup to Milliliter Conversions
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
Chesapeake Bay lifestyle
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
jusomoa.clickn.co.kr
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
купить виагру онлайн
blog topic
big win casino
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
valuable
blog topic
https://vpnguide.top
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
The Cannibal President
blog topic
quanto tempo prima prendere kamagra
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
продать лекарства Тюмень ФармСкупка
blog topic
stromectol günstig online bestellen
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
que es rybelsus
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
A片
blog topic
BUY CANNABIS ONLINE
blog topic
Louis chairs
blog topic
Order fentanyl powder with discreet shipping
blog topic
BUY RIVOTRIL
blog topic
6m3uw4 Buy White-Hat Guest Posts + Permanent Dofollow Backlinks for etowncolorado.com — Grow Ahrefs Domain Rating DR • Moz Domain Authority DA • Majestic Trust Flow TF Climbs — Permanent Top Google Rankings — Fast-Growing & Established Niches • World…
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web
flim bokep amerika
Manejo de errores en MySQL con CodeIgniter « David Rojas – Diseño y desarrollo web