-9

谁能告诉我php中函数mysql_affected_rows() (更新时)的所有可能返回值是什么?还有返回值是在什么情况下的?

如果更新查询没有更新任何内容或因错误停止。它将返回 -1 还是 0?那是我的问题?

4

2 回答 2

4
  1. www.google.com
  2. mysql_affected_rows , 搜索
  3. http://php.net/manual/en/function.mysql-affected-rows.php

成功时返回受影响的行数,如果最后一个查询失败则返回 -1。

如果最后一个查询是没有 WHERE 子句的 DELETE 查询,则所有记录都将从表中删除,但对于 4.1.2 之前的 MySQL 版本,此函数将返回零。

使用 UPDATE 时,MySQL 不会更新新值与旧值相同的列。这会导致 mysql_affected_rows() 实际上可能不等于匹配的行数,而只是实际受查询影响的行数。

REPLACE 语句首先删除具有相同主键的记录,然后插入新记录。此函数返回已删除记录数加上插入记录数。

在“INSERT ... ON DUPLICATE KEY UPDATE”查询的情况下,如果执行插入,则返回值为 1,如果更新现有行,则返回值为 2。

重要的:

use mysql_*推荐使用

于 2013-06-14T09:17:55.537 回答
2

来自文档

成功时返回受影响的行数,如果最后一个查询失败则返回 -1。

如果最后一个查询是没有 WHERE 子句的 DELETE 查询,则所有记录都将从表中删除,但对于 4.1.2 之前的 MySQL 版本,此函数将返回零。使用 UPDATE 时,MySQL 不会更新新值与旧值相同的列。这会导致 mysql_affected_rows() 实际上可能不等于匹配的行数,而只是实际受查询影响的行数。

REPLACE 语句首先删除具有相同主键的记录,然后插入新记录。此函数返回已删除记录数加上插入记录数。

在“INSERT ... ON DUPLICATE KEY UPDATE”查询的情况下,如果执行插入,则返回值为 1,如果更新现有行,则返回值为 2。

于 2013-06-14T09:17:23.853 回答