我有个问题。
我需要处理mysql错误(例如重复键、外部约束…),例如:
$id=$db->insert ('user', $data);
if(!$id){
switch($db->getLastErrno()){
throw new Exception(... );
}
}
这里我使用错误号来选择正确的异常。
但对于同样的错误,我该怎么办?我认为应该使用错误字符串,例如:
if($db->getLastErrno()==1452 && strpos($db->getLastError(), "contraint name created on db")>-1){
throw new Exception(... );
}
但我不知道为什么,我觉得这有点垃圾。有人有其他解决办法吗?
1条答案
按热度按时间zkure5ic1#
把钥匙放好
if
内部声明case
. 您不需要重复错误号测试。