【发布时间】:2018-03-20 11:46:30
【问题描述】:
当我插入数据时出现重复键错误,我该如何处理这个错误?
if($this->db->insert('user', $this)) {
return TRUE;
}
如何处理db 错误?
编辑
这是出现的错误:
A Database Error Occurred
Error Number: 1062
Duplicate entry 's123' for key 'login'
INSERT INTO `user` (`id`, `login`, `hash`, `fname`, `sname`, `lname`, `phone`, `email`, `administrator`, `moderator`, `author`, `add_time`, `is_active`) VALUES (NULL, 's123', '$2y$10$EIrEBovWdrSPnMKNOvBuyebUnQKaKNePQSOmhyihf124tompkSnQK', 's123', 's123', 's123', '123', 's123', '0', '0', '0', 1507543679, '0')
Filename: models/User_model.php
Line Number: 74
但是,我不想向用户展示它。相反,我希望向用户显示另一条错误消息,例如:
"Such User exists. Please try again!"
【问题讨论】:
-
自动增加 id 或主键
-
插入时不要传递
primary key。如果表中没有primary key,则将table id设为auto incremented primary key -
@BilalAhmed: id 是主键和auto_increment,但我想处理
mysql错误 -
我需要在 codeigniter 中相当于
mysqli_error()? -
在那里使用try catch
标签: php codeigniter-3