Codeigniter Query Error Handling
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings
Codeigniter Show Query Error
and policies of this site About Us Learn more about Stack codeigniter database error handling Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs error handling in codeigniter tutorial Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them;
Codeigniter Error Handling Example
it only takes a minute: Sign up CodeIgniter - how to catch DB errors? up vote 36 down vote favorite 6 Is there a way to make CI throw an exception when it encounters a DB error instead of displaying a message like: A Database Error Occurred Error Number: 1054 Unknown column 'foo' in 'where clause' SELECT * FROM (`FooBar`)
Codeigniter Error Logs
WHERE `foo` = '1' NOTE: I only want this to happen in one controller. In the other controllers, I'm happy for it to display the DB error messages. php codeigniter share|improve this question edited Oct 20 '11 at 23:29 asked Oct 20 '11 at 23:22 StackOverflowNewbie 9,96467186337 add a comment| 7 Answers 7 active oldest votes up vote 34 down vote accepted Try these CI functions $this->db->_error_message(); (mysql_error equivalent) $this->db->_error_number(); (mysql_errno equivalent) share|improve this answer edited Oct 21 '11 at 4:22 answered Oct 21 '11 at 4:17 Oskenso Kashi 51147 3 And when the queries are dinamically created, $this->db->last_query() useful too. –uzsolt Oct 21 '11 at 15:17 5 How do these prevent the messages from displaying? –StackOverflowNewbie Oct 21 '11 at 21:36 7 You must turn debug off for database in config/database.php -> $db['default']['db_debug'] = FALSE; –decebal Dec 12 '12 at 12:47 8 Why is not possible to use Exception instead :-( ? –Thomas Decaux Mar 8 '13 at 11:39 16 These methods have been removed in CodeIgniter version 3. Use $this->db->e
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business codeigniter active record error handling Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation
Codeigniter Get Mysql Error
Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like codeigniter insert error-handling you, helping each other. Join them; it only takes a minute: Sign up CodeIgniter SQL query error handling up vote 0 down vote favorite 1 At this moment i access my posts like this http://localhost/post/174565/ and everything http://stackoverflow.com/questions/7843406/codeigniter-how-to-catch-db-errors works fine, but when i am trying to access them like this http://localhost/post/1745s65/ i am getting error Error Number: 1054 Unknown column '1745s65' in 'where clause' SELECT * FROM posts WHERE id = 1745s65; Filename: D:\Localhost\Apache\htdocs\code\system\database\DB_driver.php Line Number: 330 i understand why it is there, but how to handle it? For example my users don't need to see SQL query, and i want to show them 404 page instead of this block. php sql codeigniter error-handling http://stackoverflow.com/questions/15724584/codeigniter-sql-query-error-handling share|improve this question asked Mar 30 '13 at 23:17 Nerfair 1,09732038 post your code that queries the db based on the url. –Vassilis Barzokas Mar 30 '13 at 23:19 for what you need it? post is not about debuging sql query, but handling errors :) –Nerfair Mar 30 '13 at 23:42 1 to see the way that you parse the query. Normally, if you used active record correctly you should not see the above error. –Vassilis Barzokas Mar 30 '13 at 23:43 Ahh, ok, here it is pastebin.com/aPt7VYuJ –Nerfair Mar 30 '13 at 23:45 add a comment| 3 Answers 3 active oldest votes up vote 1 down vote accepted Try this code: public function getPostData($iPostId) { $sqlQuery = $this->db->get_where('posts', array('id' => $iPostId)); $aResult = $sqlQuery->result(); if (empty($aResult)) { show_404(); } else { return $aResult[0]; } } share|improve this answer edited Jun 30 '15 at 3:34 lighter 1,5551937 answered Mar 30 '13 at 23:52 Vassilis Barzokas 1,51821328 Magic method! Works just perfectly. –Nerfair Mar 31 '13 at 11:56 add a comment| up vote 2 down vote use execptions: try{ //here what you need to do with script } catch (Exception $e) { var_dump($e->getMessage()); show_404(); } i think you can try also to put : $database['db_debug'] = FALSE; in config/database.php if you want to remove database er
full version with https://www.codeigniter.com/user_guide/general/errors.html proper formatting. RastoStric02-23-2015, 04:03 AM I am aware of the discussions on this topic in the CI forum, StackOverflow and elsewhere. I tried error handling to do my research carefully but it seems to me, that I did not find a proper answer. The question is how to handle database transaction errors and not to codeigniter query error loose the error details. The CI guide suggested way is PHP Code: $this->db->trans_start();
$this->db->query('ANSQLQUERY...');
$this->db->query('ANOTHERQUERY...');
$this->db->trans_complete();
if($this->db->trans_status
Chart Model-View-Controller Architectural Goals Tutorial Static pages News section Create news items Conclusion Contributing to CodeIgniter Writing CodeIgniter Documentation Developer's Certificate of Origin 1.1 General Topics CodeIgniter URLs Controllers Reserved Names Views Models Helpers Using CodeIgniter Libraries Creating Libraries Using CodeIgniter Drivers Creating Drivers Creating Core System Classes Creating Ancillary Classes Hooks - Extending the Framework Core Auto-loading Resources Common Functions Compatibility Functions URI Routing Error Handling Caching Profiling Your Application Running via the CLI Managing your Applications Handling Multiple Environments Alternate PHP Syntax for View Files Security PHP Style Guide Libraries Benchmarking Class Caching Driver Calendaring Class Shopping Cart Class Config Class Email Class Encrypt Class Encryption Library File Uploading Class Form Validation FTP Class Image Manipulation Class Input Class Javascript Class Language Class Loader Class Migrations Class Output Class Pagination Class Template Parser Class Security Class Session Library HTML Table Class Trackback Class Typography Class Unit Testing Class URI Class User Agent Class XML-RPC and XML-RPC Server Classes Zip Encoding Class Database Reference Quick Start: Usage Examples Database Configuration Connecting to a Database Running Queries Generating Query Results Query Helper Functions Query Builder Class Transactions Getting MetaData Custom Function Calls Query Caching Database Manipulation with Database Forge Database Utilities Class Database Driver Reference Helpers Array Helper CAPTCHA Helper Cookie Helper Date Helper Directory Helper Download Helper Email Helper File Helper Form Helper HTML Helper Inflector Helper Language Helper Number Helper Path Helper Security Helper Smiley Helper String Helper Text Helper Typography Helper URL Helper XML Helper CodeIgniter Welcome to CodeIgniter Installation Instructions Downloading CodeIgniter Installation Instructions Upgrading From a Previous Version Troubleshooting CodeIgniter Overview Getting Started CodeIgniter at a Glance Supported Features Application Flow Chart Model-View-Controller Architectural Goals Tutorial Static pages News section Create news items Conclusion Contributing to CodeIgniter Writing CodeIgniter Documentation Developer's Certificate of Origin 1.1 General Topics CodeIgniter URLs Controllers Reserved Names Views Models Helpers Using CodeIgniter Libraries Creating Libraries Using CodeIgniter Drivers Creating Drivers Creating Core System Classes Creating A