# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 查询辅助函数

## $this->db->insert_id()

这个ID号是执行数据插入时的ID。

## $this->db->affected_rows()

Displays the number of affected rows, when doing "write\" type queries (insert, update, etc.).

当执行写入操作（insert,update等）的查询后，显示被影响的行数。

Note: In MySQL "DELETE FROM TABLE" returns 0 affected rows. The database class has a small hack that allows it to return the correct number of affected rows. By default this hack is enabled but it can be turned off in the database driver file.

注意：在 MySQL 中“DELETE FROM TABLE”的被影响行数将会返回 0。database 类有一个小 hack 允许返回正确的被影响的行数。默认情况下这个 hack 功能是打开的但可以在数据库驱动文件中关闭它。

## $this->db->count_all();

Permits you to determine the number of rows in a particular table. Submit the table name in the first parameter. Example:

计算出指定表的总行数并返回。在第一个参数中写入被提交的表名。例如： `echo $this->db->count_all('my_table');
// Produces an integer, like 25`

## $this->db->platform()

Outputs the database platform you are running (MySQL, MS SQL, Postgres, etc...):

输出系统使用的数据库平台(MySQL, MS SQL, Postgres……)

`echo $this->db->platform();`

## $this->db->version()

Outputs the database version you are running:

输出系统正在运行的数据库版本号 `echo $this->db->version();`

## $this->db->last_query();

Returns the last query that was run (the query string, not the result). Example:

返回最后运行的查询（是查询语句，不是查询结果）

`$str = $this->db->last_query();
// Produces: SELECT * FROM sometable....`

The following two functions help simplify the process of writing database INSERTs and UPDATEs.

下面的两个函数简化了写入数据库的insert和update操作。

## $this->db->insert_string();

This function simplifies the process of writing database inserts. It returns a correctly formatted SQL insert string. Example:

这个函数简化了写入数据库的insert函数。它返回一个标准的SQL insert字符串。例如： `$data = array('name' => $name, 'email' => $email, 'url' => $url);
$str = $this->db->insert_string('table_name', $data);`

The first parameter is the table name, the second is an associative array with the data to be inserted. The above example produces:

第一个参数是表名，第二个是被插入数据的联合数组，上面的例子生成的效果为： `INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')`

Note: Values are automatically escaped, producing safer queries.

注解：被插入的数据会被自动转换和过滤，生成安全的查询语句。

## $this->db->update_string();

This function simplifies the process of writing database updates. It returns a correctly formatted SQL update string. Example:

这个函数简化了写入数据库的update操作。它返回一条格式正确的SQL update字符串。例如： `$data = array('name' => $name, 'email' => $email, 'url' => $url);
$where = "author_id = 1 AND status = 'active'";
$str = $this->db->update_string('table_name', $data, $where);`

The first parameter is the table name, the second is an associative array with the data to be updated, and the third parameter is the "where" clause. The above example produces:

第一个参数是表名，第二个是被更新数据的关联数组，第三个参数是“where”子句。上面的例子生成的效果为： `UPDATE table_name SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'`

Note: Values are automatically escaped, producing safer queries.

注解：被插入的数据会被自动转换和过滤，生成安全的查询语句。

翻译贡献者: analyzer, Hex, IT不倒翁, loiynet, sexy22
最后修改: 2012-10-25 17:00:51