我正在做的是使用 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/