affectedRows 问题

#1 skywalk

$info_course->create(
        array(
          "cou_id" => $cou_id,
          "cla_id" => $cla_id,
          "cou_name" => $cou_name,
          "cou_num" => 0,
          "tea_id" => $_SESSION["account"],
          "cou_comment" => $this->spArgs("cou_comment")
        )
      );
$info_course->affectedRows();
明明数据库里已经插入数据了,可是这段执行完$info_course->affectedRows()显示的是0
我其他表的插入,同样的代码$info_course->affectedRows()显示的是1
好奇怪啊。。。

2012-06-12 10:46:55

#2 skywalk

我将
$info_course->create(
        array(
          "cou_id" => $cou_id,
          "cla_id" => $cla_id,
          "cou_name" => $cou_name,
          "cou_num" => 0,
          "tea_id" => $_SESSION["account"],
          "cou_comment" => $this->spArgs("cou_comment")
        )
      );
来换成
$info_course->runSql("insert into info_course values('".$cou_id."','".$cla_id."','".$cou_name."','0','".$_SESSION["account"]."','".$this->spArgs("cou_comment")."')");
执行后$info_course->affectedRows()为1

2012-06-12 11:08:34

#3 jake

因为此表没有自增量的主键。

2012-06-12 12:42:56

#4 邪风

那没有自增的主键改用什么方法来判断是否插入成功嘛?

2012-06-21 14:47:56

#5 jake

create返回非零就是执行成功,插入操作一般执行成功就是插入成功

2012-06-22 16:11:08