Как я могу проверить, не ошибся ли запрос, вместо того, чтобы показывать пользователям ошибки (содержащая информацию о базах данных, которая небезопасна).
Предположим, у меня такая ситуация, когда мой пейджинговый класс занимает сегмент URI, чтобы показать страницу example.com/page/uri_segment
. Если кто-то напишет это, как этот example.com/page/bla_bla_bla
я получаю сообщение об ошибке, которое показывает информацию о моей базе данных.
Как я могу справиться с этим?
В приложении / config / database.php установлен
// suppress error output to the screen $db['default']['db_debug'] = FALSE;
В вашей модели или контроллере:
// try the select. $dbRet = $this->db->select($table, $dataArray); // select has had some problem. if( !$dbRet ) { $errNo = $this->db->_error_number() $errMess = $this->db->_error_message(); // Do something with the error message or just show_404(); }
Вы можете попробовать эту $this->db->error();
, это даст вам ErrorCode & Errormessage в формате массива.
вы можете проверить это как:
function myFunction() { echo 'Oeps'; } $res = mysql_query($sql); if($res && mysql_num_rows($res)>0){ echo 'Success'; } else { myFunction(); }