redtamo 发表于 2010-7-6 12:55:05

自主捕获数据库异常

本帖最后由 redtamo 于 2010-7-7 14:01 编辑

举例:
我有个订单表pay_order_form,其中有个字段order_sn,order_sn有唯一约束
使用如下语句进行插入操作
$this->db->insert('pay_order_form',$data);
如果order_sn出现重复,sql就会报错。
如果数据库设置中db_debug=true则会以如下方式报错,否则直接显示空白

Error Number: 1062
Duplicate entry '9619079e367011df' for key 'order_sn'
INSERT INTO `pay_order_form` (`order_sn`) VALUES ('9619079e367011df')



我想使用类似如下方式自己捕获异常进行处理

try{
   $this->db->insert('pay_order_form',$data);
}catch(Exceptions$s){
   //do something
}

但是使用try是没有办法捕获的
可否有其他方式来捕获异常并处理呢(用程序控制order_sn唯一性除外)

期待高手出现

redtamo 发表于 2010-7-6 22:04:03

杂只有人看没人说呢
呼吁高人阿

conqweal 发表于 2010-7-9 20:23:30

去底层,,

conqweal 发表于 2010-7-9 20:23:59

找mysql_query($sql)
加 or die(throw new Exception(mysql_error()))
页: [1]
查看完整版本: 自主捕获数据库异常