php - 使用php在mysql中获取更新row_count

标签 php mysql

这是一个非常简单的例子:

我有一个包含两列的表格,idpassword。我想知道更新何时成功完成,成功被定义为应用于现有行。

PHP 似乎只提供 mysql_affeted_rows(),它不区分受影响的 0 行和更新的 0 行。 http://php.net/manual/en/function.mysql-affected-rows.php这很尴尬,因为返回值取决于事务发生时行的状态。在 Postgresql 中,您可以通过两种方式获取它,UPDATE foo SET bar = NULL,将返回foo更新 的行数;而 UPDATE foo SET bar = NULL WHERE bar IS NOT NULL 将通过限制更新返回受影响的行数。

不要费心建议先前的 SELECT 或 PHP 计数器 var,它们假设有一行。我想知道在没有冗余查询的情况下获得 Pg 功能的巧妙方法。

最佳答案

mysql_affected_rows 将始终返回由 UPDATE 更新的行数。

换句话说,对于UPDATE foo SET bar = NULL,它将返回与UPDATE foo SET bar = NULL WHERE bar IS NOT NULL相同的行数相同的起始数据。

或者至少在您链接到的手册页上的“返回值”标题下,它是这样记录的。

关于php - 使用php在mysql中获取更新row_count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941052/

相关文章:

mysql - 没有外援的球队如何统计

MYSQL查询更新与用户表的ManagerID相关的分支表的父id的层次结构

php - Facebook 注销无法正常工作

PHP - 动态更改变量

php - 如何用php制作缩略图

php - phpmyadmin 中的 ID

php - Laravel 中不存在多对多关系

PHP:数组似乎重新初始化

mysql - 在 MySQL 中,当我的 where 子句中有 in "in"条件时,我可以使用索引吗?

mysql - org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'sessionFactory'