设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
弱问,DB操作为什么要做成这么麻烦呢? ...
1
2
/ 2 页
下一页
返回列表
查看:
4816
|
回复:
11
[讨论/交流]
弱问,DB操作为什么要做成这么麻烦呢?
[复制链接]
gauspican
gauspican
当前离线
积分
688
IP卡
狗仔卡
发表于 2010-5-11 10:02:51
|
显示全部楼层
|
阅读模式
之前习惯了用$db->query(...),一条语句全部搞定。
现在要分成几条写,除了对输入变量做过滤外,还有其他什么好处吗?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2010-5-11 13:37:55
|
显示全部楼层
用不用 AR 完全是个人喜好。
AR 目前我认为最大的好处是隔离不同种类的数据库,再一个,可以让 SQL 语句更清晰,当然必要的转义,安全过滤肯定是有的。
当然,这只限于简单的 SQL 语句,复杂的 AR 也不支持。
回复
支持
反对
使用道具
举报
显身卡
燃雲
燃雲
当前离线
积分
650
IP卡
狗仔卡
发表于 2010-5-12 07:39:18
|
显示全部楼层
主要是为了防止SQL injection。
回复
支持
反对
使用道具
举报
显身卡
gauspican
gauspican
当前离线
积分
688
IP卡
狗仔卡
楼主
|
发表于 2010-5-12 10:19:39
|
显示全部楼层
引入hibernate一类操作DB的思路应该还是不错的,不过做来做去,框架就会越来越庞大了。。。
回复
支持
反对
使用道具
举报
显身卡
乌有
乌有
当前离线
积分
256
IP卡
狗仔卡
发表于 2010-5-18 09:47:52
|
显示全部楼层
事实上你现在一样也可以用$this->db->query()
正如Hex所说,给你多了一个操作类选择,用不用个人喜好.
回复
支持
反对
使用道具
举报
显身卡
spt119
spt119
当前离线
积分
866
IP卡
狗仔卡
发表于 2010-5-20 16:42:01
|
显示全部楼层
AR最大的作用是防SQL注入。
另外,AR,个人觉得最大的好处就是把SQL分开了,虽然多了一些代码,但条理能更清晰,debug时也更容易确定SQL错误地点。
AR也不完善,很多功能实现不了,如计数器+1操作。
推荐用AR
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2010-5-21 09:57:51
|
显示全部楼层
回复
6#
spt119
计数器加1可以实现,请用关键字 update 搜索论坛。
回复
支持
反对
使用道具
举报
显身卡
乌有
乌有
当前离线
积分
256
IP卡
狗仔卡
发表于 2010-5-21 10:16:02
|
显示全部楼层
字段自加,用$this->db->set()的时候,后面加多一个参数FALSE...
如$this->db->set(字段,字段+1,FALSE)
觉得AR在单表查询上是挺方便的.复杂点的话就不便实现了.
回复
支持
反对
使用道具
举报
显身卡
oraclelee
oraclelee
当前离线
积分
392
IP卡
狗仔卡
发表于 2011-12-12 10:26:08
|
显示全部楼层
PHP
复制代码
$this
->
db
->
where
(
'uid'
,
$uid
)
;
$this
->
db
->
set
(
'aa'
,
'aa+1'
,
false
)
;
$this
->
db
->
update
(
'table_name'
)
;
复制代码
回复
支持
反对
使用道具
举报
显身卡
zhouli520
zhouli520
当前离线
积分
818
IP卡
狗仔卡
发表于 2011-12-12 13:06:13
|
显示全部楼层
AR唯一的问题我遇到的就是在where的时候他是不会判断int还是varchar转换成sql的时候一律都是给值添加'单引号',这样在匹配到sql的时候sql就会执行模糊查询了
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页