本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
CI中的方法:
读操作,获取行数:
$query->num_rows()
该函数将会返回当前请求的行数。在本例子中, $query 表示当前 SQL 所产生的请求结果对象:
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_rows();
写操作,获取影响的行数:
$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 功能是打开的但可以在数据库驱动文件中关闭它。