0
public function create($tableName, $userInput) {

    $this->db->insert($tableName, $userInput);
    return $this->db->affected_rows();

}

如您所见,$this->db->affected_rows();没有引用任何特定的资源/执行语句。

受影响的行()通常返回数据库中最新的受影响的行()吗?换句话说,如果我有 50 个用户调用 create(...) 函数,codeigniter 如何将每个affected_rows() 与其执行的语句相关联?

这个问题是特定于 codeigniter 的。

4

1 回答 1

1

system/database/drivers/mysql/mysql_driver.php在第 337 行的codeigniter中:

/**
 * Affected Rows
 *
 * @access  public
 * @return  integer
 */
function affected_rows()
{
    return @mysql_affected_rows($this->conn_id);
}

这基本上意味着 CodeIgniter 和标准 PHP 函数http://php.net/manual/en/function.mysql-affected-rows.php没有区别

它返回受上一个查询影响的行数,所以如果你有问题并且它总是返回 1,这意味着 codeigniter 迭代你的查询,一个快速的解决方法是使用你自己的查询和 `$this- >db->查询();'

于 2012-06-26T10:28:32.110 回答