设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
自主捕获数据库异常
返回列表
查看:
6275
|
回复:
3
[数据库]
自主捕获数据库异常
[复制链接]
redtamo
redtamo
当前离线
积分
76
IP卡
狗仔卡
发表于 2010-7-6 12:55:05
|
显示全部楼层
|
阅读模式
本帖最后由 redtamo 于 2010-7-7 14:01 编辑
举例:
我有个订单表pay_order_form,其中有个字段order_sn,order_sn有唯一约束
使用如下语句进行插入操作
PHP
复制代码
$this
->
db
->
insert
(
'pay_order_form'
,
$data
)
;
复制代码
如果order_sn出现重复,sql就会报错。
如果数据库设置中db_debug=true则会以如下方式报错,否则直接显示空白
SQL
复制代码
Error
NUMBER
:
1062
Duplicate entry
'9619079e367011df'
FOR
KEY
'order_sn'
INSERT
INTO
`pay_order_form`
(
`order_sn`
)
VALUES
(
'9619079e367011df'
)
复制代码
我想使用类似如下方式自己捕获异常进行处理
PHP
复制代码
try
{
$this
->
db
->
insert
(
'pay_order_form'
,
$data
)
;
}
catch
(
Exceptions
$s
)
{
//do something
}
复制代码
但是使用try是没有办法捕获的
可否有其他方式来捕获异常并处理呢(用程序控制order_sn唯一性除外)
期待高手出现
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
redtamo
redtamo
当前离线
积分
76
IP卡
狗仔卡
楼主
|
发表于 2010-7-6 22:04:03
|
显示全部楼层
杂只有人看没人说呢
呼吁高人阿
回复
支持
反对
使用道具
举报
显身卡
conqweal
conqweal
当前离线
积分
64
IP卡
狗仔卡
发表于 2010-7-9 20:23:30
|
显示全部楼层
去底层,,
回复
支持
反对
使用道具
举报
显身卡
conqweal
conqweal
当前离线
积分
64
IP卡
狗仔卡
发表于 2010-7-9 20:23:59
|
显示全部楼层
找mysql_query($sql)
加 or die(throw new Exception(mysql_error()))
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页