我已经从php
更新了mysql数据$sql_user = mysqli_query($con,"UPDATE user SET firstname = '".$fname."', lastname = '".$lname."', mobilenumber = '".$mobilenumber."'");
$rows_count = mysqli_affected_rows($con);
此处,更新后,它返回行计数。
当更新相同的数据到表时,它返回0.
我的问题是,
如果更新成功,可能是相同的数据或不同的数据,我想获得成功信息。
我在这里使用mysqli_affected_rows($con)
。为此我找到了成功或失败。但它不适用于相同的数据更新。
更新数据(相同数据或不同数据)后如何获得成功或失败。
答案 0 :(得分:2)
mysql_affected_rows()才会返回计数。
如果您使用相同的数据更新表格。
E.g。 UPDATE users SET name='Dan'
已name
已Dan
,{}返回0
行。{/ p>
为了解决这个问题,我们需要一个开箱即用的解决方案。
在数据库表中添加updated_date
字段。哪个应该是DATETIME
。
每当您触发UPDATE查询时,请将此字段更改为now()
。
因此,行将更新,您将获得计数。
最终,您的mysql_num_rows()
将返回大于0
的内容。
答案 1 :(得分:0)
您无法检查受影响的行,因为由于数据相同而没有对行进行更改
mysqli_affected_rows($con)
将返回0,您可以做的一件事就是看到查询成功就像这样检查
$sql_user = mysqli_query($con,
"UPDATE user SET
firstname = '".$fname."',
lastname = '".$lname."',
mobilenumber = '".$mobilenumber."'"
);
// check here if its true your query was success
if($sql_user && mysqli_affected_rows($con) <= 0)
{
}
然后,您可以在更新数据(相同数据或不同数据)后获得成功或失败。
答案 2 :(得分:0)
你缺少像#34; 其中id = 2 &#34;在你的查询..
$sql_user = mysqli_query($con,"UPDATE user SET firstname = '".$fname."', lastname = '".$lname."', mobilenumber = '".$mobilenumber."' where id=2");
$rows_count = mysqli_affected_rows($con);