词条 | mysql_affected_rows |
释义 | 简介mysql_affected_rows (PHP 3, PHP 4, PHP 5) mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数 定义和用法mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。 语法mysql_affected_rows(link_identifier) 参数 描述 link_identifier 必需。MySQL 的连接标识符。如果没有指定,默认使用最后被 mysql_connect() 打开的连接。如果没有找到该连接,函数会尝试调用 mysql_connect() 建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出 E_WARNING 级别的警告信息。 说明int mysql_affected_rows ( [resource link_identifier] ) 取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。 参数link_identifier MySQL 的连接。如果没有指定,默认使用最后被 mysql_connect() 打开的连接。如果没有找到该连接,函数会尝试通过调用已定义的 mysql_connect() 重新建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出 E_WARNING 级别的警告信息。 返回值执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。 如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。 REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。本函数返回的是被删除的记录数加上被插入的记录数。 例子<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } mysql_select_db('mydb'); /* 本例返回被删除记录的准确数目 */ mysql_query('DELETE FROM mytable WHERE id < 10'); printf("Records deleted: %d\", mysql_affected_rows()); /* 对于非真值的 WHERE 子句,应返回 0 */ mysql_query('DELETE FROM mytable WHERE 0'); printf("Records deleted: %d\", mysql_affected_rows()); ?> 上例的输出类似于: Records deleted: 10 Records deleted: 0 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。