PHP取得前一次 MySQL 操作所影响的记录行数 mysql_affected_rows
2012-03-06 01:00
465 查看
mysql_affected_rows
(PHP 3, PHP 4 )
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
说明
int mysql_affected_rows ( [resource link_identifier])
mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。
注: 如果你使用事务处理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 commit 命令之后。
如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询, 在表中所有的记录都会被删除,但该函数返回值为 0。
注: 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。 这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数。 只有真正被修改的记录数才会被返回。
mysql_affected_rows() 函数不适用于 SELECT 语句;只适用于能够修改记录的语句中。请使用 mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。
如果最近一次查询失败的话,函数返回 -1。 例子 1. Delete 操作
<?php
/* 连接数据库 */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* 这会返回有效的被删除记录数。 */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Records deleted: %d\n", mysql_affected_rows());
/* 没有任何条件(where)的删除语句,返回 0 */
mysql_query("DELETE FROM mytable");
printf ("Records deleted: %d\n", mysql_affected_rows());
?>
以上的例子会得出下面的运行结果:
Records deleted: 10
Records deleted: 0
例子 2. Update 操作
<?php
/* 连接数据库 */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* Update 记录 */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>
以上的例子会得出下面的运行结果:
Updated Records: 10
参见 mysql_num_rows() 和 mysql_info()。
(PHP 3, PHP 4 )
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
说明
int mysql_affected_rows ( [resource link_identifier])
mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。
注: 如果你使用事务处理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 commit 命令之后。
如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询, 在表中所有的记录都会被删除,但该函数返回值为 0。
注: 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。 这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数。 只有真正被修改的记录数才会被返回。
mysql_affected_rows() 函数不适用于 SELECT 语句;只适用于能够修改记录的语句中。请使用 mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。
如果最近一次查询失败的话,函数返回 -1。 例子 1. Delete 操作
<?php
/* 连接数据库 */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* 这会返回有效的被删除记录数。 */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Records deleted: %d\n", mysql_affected_rows());
/* 没有任何条件(where)的删除语句,返回 0 */
mysql_query("DELETE FROM mytable");
printf ("Records deleted: %d\n", mysql_affected_rows());
?>
以上的例子会得出下面的运行结果:
Records deleted: 10
Records deleted: 0
例子 2. Update 操作
<?php
/* 连接数据库 */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* Update 记录 */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>
以上的例子会得出下面的运行结果:
Updated Records: 10
参见 mysql_num_rows() 和 mysql_info()。
相关文章推荐
- mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- php获取上一次mysql操作所影响的记录行数
- 得前一次MySQL操作所影响的记录行数
- 记录一次chown误操作导致服务宕机修复过程(linux+nginx+php+mysql)
- 结果集总数,取得增删改影响的行数,取得最新一次添加记录
- php mysql_affected_rows获取sql执行影响的行数
- php mysql_affected_rows获取sql执行影响的行数
- 用PHP进行MySQL删除记录操作代码
- 记录一次批量操作(mybtatis+mysql)
- mysql 受影响行数,记录ID,存储过程查询
- 如何得到最近一次数据库操作影响的数据行数?
- mysql更新语句获取受影响行数和插入记录id
- [乐意黎转载]PHP mysql_affected_rows() 函数
- php 中mysql_affected_rows()
- 记录一次mysql 主从不同步的问题操作(hashlinux)