mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录行数
2009-02-22 22:42
639 查看
**
* 取得前一次 MySQL 操作所影响的记录行数
* 执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1
* 如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。
* 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。 * REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。本函数返回的是被删除的记录数加上被插入的记录数。
*
* @param resource $link
* @return int
*/
int mysql_affected_rows ( [resource $link] )
例 1366. [b]mysql_affected_rows() 例子[/b]
<?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/n", mysql_affected_rows());
/* 对于非真值的 WHERE 子句,应返回 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d/n", mysql_affected_rows());
?>上例的输出类似于:
[pre]Records deleted: 10
Records deleted: 0 [/pre]
例 1367. 使用事务处理的 [b]mysql_affected_rows() 例子[/b]
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d/n", mysql_affected_rows());
mysql_query("COMMIT");
?>上例的输出类似于:
[pre]Updated Records: 10
[/pre] 注释
事务处理: 如果使用事务处理(transactions),需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 COMMIT 命令之后。
SELECT 语句: 要获取 SELECT 所返回的行数,可以用 mysql_num_rows()
* 取得前一次 MySQL 操作所影响的记录行数
* 执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1
* 如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。
* 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。 * REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。本函数返回的是被删除的记录数加上被插入的记录数。
*
* @param resource $link
* @return int
*/
int mysql_affected_rows ( [resource $link] )
例 1366. [b]mysql_affected_rows() 例子[/b]
<?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/n", mysql_affected_rows());
/* 对于非真值的 WHERE 子句,应返回 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d/n", mysql_affected_rows());
?>上例的输出类似于:
[pre]Records deleted: 10
Records deleted: 0 [/pre]
例 1367. 使用事务处理的 [b]mysql_affected_rows() 例子[/b]
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d/n", mysql_affected_rows());
mysql_query("COMMIT");
?>上例的输出类似于:
[pre]Updated Records: 10
[/pre] 注释
事务处理: 如果使用事务处理(transactions),需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 COMMIT 命令之后。
SELECT 语句: 要获取 SELECT 所返回的行数,可以用 mysql_num_rows()
相关文章推荐
- PHP取得前一次 MySQL 操作所影响的记录行数 mysql_affected_rows
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 取得前一次MySQL操作所影响的记录行数
- 得前一次MySQL操作所影响的记录行数
- php获取上一次mysql操作所影响的记录行数
- 结果集总数,取得增删改影响的行数,取得最新一次添加记录
- 记录一次chown误操作导致服务宕机修复过程(linux+nginx+php+mysql)
- mysql使用ROW_COUNT()返回插入、更新、删除操作影响行数
- mysql使用ROW_COUNT()返回插入、更新、删除操作影响行数
- mysql更新语句获取受影响行数和插入记录id
- 记录一次批量操作(mybtatis+mysql)
- mysql更新语句获取受影响行数和插入记录id
- 记录一次mysql 主从不同步的问题操作(hashlinux)
- 如何得到最近一次数据库操作影响的数据行数?
- php mysql_affected_rows获取sql执行影响的行数
- php mysql_affected_rows获取sql执行影响的行数
- 错误记录:使用了mysql_affected_rows修改方法的返回值判断要>0