manejo errores error php codeigniter activerecord

php - manejo de errores codeigniter



Codeigniter: manejo de errores cuando se usa el registro activo (2)

Estoy armando algunos modelos para mi sitio codeigniter y no puedo encontrar ninguna palabra en la documentación de cómo manejar los errores que podrían ocurrir al usar el sistema Active Record.

La documentación demuestra cómo realizar CRUD junto con algunas consultas relativamente complejas, pero en ningún lugar a lo largo de la línea se discute el manejo de errores. He hecho una búsqueda rápida en Google y parece que las clases de Active Record no arrojan excepciones. ¿Es este el caso? No intentes atrapar, entonces ...

Entonces, ¿cómo codifica para manejar los errores de la base de datos en codeigniter? (conexión fallida, clave duplicada, integridad referencial interrumpida, truncamiento, tipos de datos incorrectos, etc.)


Directamente desde el foro de soporte de CodeIgniter:

$res = $this->db->query($str); if (!$res) { // if query returns null $msg = $this->db->_error_message(); $num = $this->db->_error_number(); $data[''msg''] = "Error(".$num.") ".$msg; $this->load->view(''customers_edit_view'',$data); }

Tenga en cuenta que también puede registrar errores de Active Record yendo al archivo de configuración de su aplicación de CI y estableciendo lo siguiente:

$config[''log_threshold''] = 1;


Ya sea que esté utilizando la clase de registro activo o no, puede acceder a los errores de la base de datos usando $this->db->_error_message() y $this->db->_error_number() .

Si está utilizando una base de datos mysql, estas funciones son equivalentes a mysql_error() y mysql_errno() respectivamente. Puede verificar estas funciones mirando el código fuente del controlador de base de datos para la base de datos que está utilizando. Están ubicados en system / database / drivers.

Entonces, después de ejecutar una consulta, puede verificar si hay errores utilizando algo como:

if ($this->db->_error_message()) //handle error