设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
【数据库事务】不懂就要问
返回列表
查看:
2110
|
回复:
0
[HELP]
【数据库事务】不懂就要问
[复制链接]
E.TAXI
E.TAXI
当前离线
积分
645
IP卡
狗仔卡
发表于 2014-7-3 18:18:54
|
显示全部楼层
|
阅读模式
这两天研究了论坛上和手册上所有关于事务的资料。想问一个问题
事务回滚的触发条件
PHP
复制代码
$this
->
db
->
trans_begin
(
)
;
$this
->
db
->
query
(
'INSERT QUERY...'
)
;
$this
->
db
->
query
(
'INSERT QUERY...'
)
;
$this
->
db
->
query
(
'QUERY1'
)
;
if
(
$this
->
db
->
trans_status
(
)
===
FALSE
)
{
$this
->
db
->
trans_rollback
(
)
;
}
else
{
$this
->
db
->
trans_commit
(
)
;
}
复制代码
(1)当QUERY出错时,
SQL
复制代码
QUERY1
=
UPDATE
USER
` SET sex`
=
-
1
WHERE
`uid`
<
1
1
复制代码
ci直接显示语句错误
(2)当插入与当前字段类型不符的类型时,居然
trans_status=TURE,并插入了三条数据
(3)当插入一个未定义的变量时
SQL
复制代码
QUERY1
=
UPDATE
[
/
color
]
[
color
=
#4f5155
]
USER
` SET
sex`
=
-
1
WHERE
`uid`
=
$id
复制代码
。 $id故意没申明。ci报错,
trans_status居然还是TURE并且插入了前两条数据。。。
ci也用了2年了,感觉已经不小白了吧。。。感觉已经无力了。
当初是因为担心类似上面的$id返回null或是出错才想到要使用事务,因为id是在插入前查询数据得到的。现在看来好像事务只在于停电,死机才有用。。。求大神指教。还有
$this->db->trans_start(
TRUE
); 这个传说中的测试模式一点效果都没有。。。还是插入了数据。是我用的方法不对吗。。。
测试环境为ci2.2.0下的严格模式。
数据库
,
资料
相关帖子
•
数据库的查询
•
数据库对象获取数据为空
•
请教一个数据库的model
•
token是否可以存到数据库
•
请教ci2.2.6如何访问sqlite3数据库?
•
CI万网上线后出现问题
•
操作数据库 一定要在模型model里面.
•
sae
•
【分享】常用的数据库Model
•
mysql数据库无法列出了,记录数量查过2万条
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页