用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6923|回复: 13
收起左侧

[HELP] 请问怎么判断sql语句执行情况?

  [复制链接]
发表于 2011-7-5 11:12:52 | 显示全部楼层 |阅读模式
我看手册里面数据库类的方法都没介绍返回值,例如:
$this->db->delete();$this->db->update();$this->db->insert(); 等等方法返回值分别是什么?我怎么判断执行情况呢?

发表于 2011-7-5 11:16:13 | 显示全部楼层
$this->db->insert(); 用 $this->db->insert_id(); 返回自增的主键。
$this->db->delete(); 和 $this->db->update(); 用 $this->db->affected_rows(); 返回受影响的行数。
 楼主| 发表于 2011-7-5 11:21:59 | 显示全部楼层
幽蓝冰魄 发表于 2011-7-5 11:16
$this->db->insert(); 用 $this->db->insert_id(); 返回自增的主键。
$this->db->delete(); 和 $this->db-> ...

$this->db->insert_id();  失败的时候是返回0吗?
 楼主| 发表于 2011-7-5 11:24:26 | 显示全部楼层
其实我的意思不仅仅是这几个函数,是说所有有关数据库操作的函数,大家一般是怎么判断执行成功或失败的,还是说不判断?
发表于 2011-7-5 11:27:40 | 显示全部楼层
xboss 发表于 2011-7-5 11:24
其实我的意思不仅仅是这几个函数,是说所有有关数据库操作的函数,大家一般是怎么判断执行成功或失败的,还 ...

如果开启了数据库错误的话,出错了会直接显示错误,如果不开的话,可能会返回true or false
,具体可以看以下源代码
发表于 2011-7-5 11:27:54 | 显示全部楼层
个人建议判断。
那个 insert_id() 参见 http://codeigniter.org.cn/forums/thread-9033-1-1.html
我目前未发现无法插入的情况,所以只能大概推断无法插入的时候返回空或者 0,可以用 == '' 判断。
 楼主| 发表于 2011-7-5 11:28:45 | 显示全部楼层
我下了几个实例代码看了一下,发现大家基本都不怎么判断执行成功或失败!要是失败了那报错不就没法自己控制了吗?
发表于 2011-7-5 11:30:32 | 显示全部楼层
我都判断了,不过我的代码还没公布。。。。
发表于 2011-7-5 12:49:00 | 显示全部楼层
用mysql_query($sql)or die("XXXXXXXXXXXXX")这样试试你的SQL语句
 楼主| 发表于 2011-7-5 14:09:43 | 显示全部楼层
tangwentao3014 发表于 2011-7-5 12:49
用mysql_query($sql)or die("XXXXXXXXXXXXX")这样试试你的SQL语句

,老大你也太能干了!

本版积分规则