谁能告诉我php中函数mysql_affected_rows() (更新时)的所有可能返回值是什么?还有返回值是在什么情况下的?
如果更新查询没有更新任何内容或因错误停止。它将返回 -1 还是 0?那是我的问题?
成功时返回受影响的行数,如果最后一个查询失败则返回 -1。
如果最后一个查询是没有 WHERE 子句的 DELETE 查询,则所有记录都将从表中删除,但对于 4.1.2 之前的 MySQL 版本,此函数将返回零。
使用 UPDATE 时,MySQL 不会更新新值与旧值相同的列。这会导致 mysql_affected_rows() 实际上可能不等于匹配的行数,而只是实际受查询影响的行数。
REPLACE 语句首先删除具有相同主键的记录,然后插入新记录。此函数返回已删除记录数加上插入记录数。
在“INSERT ... ON DUPLICATE KEY UPDATE”查询的情况下,如果执行插入,则返回值为 1,如果更新现有行,则返回值为 2。
不use mysql_*
推荐使用
来自文档
成功时返回受影响的行数,如果最后一个查询失败则返回 -1。
如果最后一个查询是没有 WHERE 子句的 DELETE 查询,则所有记录都将从表中删除,但对于 4.1.2 之前的 MySQL 版本,此函数将返回零。使用 UPDATE 时,MySQL 不会更新新值与旧值相同的列。这会导致 mysql_affected_rows() 实际上可能不等于匹配的行数,而只是实际受查询影响的行数。
REPLACE 语句首先删除具有相同主键的记录,然后插入新记录。此函数返回已删除记录数加上插入记录数。
在“INSERT ... ON DUPLICATE KEY UPDATE”查询的情况下,如果执行插入,则返回值为 1,如果更新现有行,则返回值为 2。