php - 查找在 PHP 中完成的更新数量

标签 php mysql rows-affected

我正在做的是使用 PHP 使用表单编辑 MySQL 数据。

我有两个文本字段,分别是姓名和手机号码。当我点击编辑时,我在文本字段中得到相同的数据,下面我有保存按钮。当我进行更改时,我得到的响应是完成的,但是当我单击“编辑”并且不在文本字段中进行任何更改并单击“保存”时,我得到的响应是失败的。

下面是保存按钮的代码。

$sql = mysql_query("
    UPDATE userInfo SET fullName='$fullName', 
    mobileNumber='$mobileNumber' 
    WHERE id=$tagNumberId"
);

if (mysql_affected_rows()==1) {
    echo "done";
} else {
    echo "fail";
}

我担心 mysql_affected_rows()

以上让我认为,如果 UPDATE 语句中的数据相同,mysql_affected_rows() 将返回 0,如果 UPDATE 语句中的数据不同,mysql_affected_rows() 将返回返回 1。

这样对吗?如果正确,更新是否完成如何处理?

最佳答案

使用mysqli_info , 就在执行查询之后

$string = mysqli_info ( $link );

返回一个包含相关信息的字符串,比如更新

Rows matched: 40 Changed: 40 Warnings: 0

在你的情况下,更新了一行但没有改变,你应该得到

Rows matched: 1 Changed: 0 Warnings: 0

您可以从中检索值

preg_match("/Rows matched: (\d+)/", $string, $matches);
$number_of_rows = intval($matches[1]);

关于php - 查找在 PHP 中完成的更新数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14998889/

相关文章:

php - 如何在 zend db 中编写更新集?

php从url获取图片并保存

javascript - 如何在某人的网站上构建一个小部件并托管在您的网站上?

php - 使用 Yii Framework 在数据库中查询日期时间类型的字段。我只需要按日期查询

MySQL WordPress 查询返回某些记录的距离为零

mysql - Rails无法使用mysql生成模型

php - 当值未更改时,MySQL 在更新时没有受影响的行

sql-server-2008 - Delphi - TADOQuery.RowsAffected 始终为 -1,带有 UPDATE SQL 语句

php - summernote + PHP 邮件程序