我有一个mysql存储过程,在删除用户时调用该过程。当有人尝试删除管理员帐户行时,过程发出SQL状态信号并抛出错误。我的程序代码是 -
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Adminstrator cannot be deleted';
我正在使用CodeIgniter 3.1。我想在我的代码中捕获此错误消息及其sql状态。 我查看了以下链接,但没有帮助 -
1)CodeIgniter - how to catch DB errors?
2)Database Error Handling problem in CodeIngniter
我观察到的是有一个方法$this->db->_error_number();
可用于获取错误号/ sql状态,但在最新版本中已弃用。
我想知道如果发生数据库错误,CodeIgniter中有没有办法获取SQL状态?
任何帮助都将不胜感激。
答案 0 :(得分:2)
您提及的功能已被弃用:
将
_error_message()
和_error_number()
方法替换为error()
- 返回包含最后一个数据库错误代码和消息的数组。"
https://www.codeigniter.com/userguide3/changelog.html?highlight=_error_number#version-3-0-0
有关详细信息,请参阅https://www.codeigniter.com/userguide3/database/queries.html#handling-errors。