我使用以下查询/代码片段,通过PHP更新MySQL数据库 -
$sql = "UPDATE test_table SET lastname='ram' where id=1";
$result = mysql_query($sql);
echo $result;
问题是,即使没有更新,PHP输出也是1
。
例如在我的情况下,没有包含id=1
的行,所以当我在phpmyadmin中运行此查询时它显示0 rows affected
,而在PHP中使用相同的查询返回1
。
我的问题是 - 如果更新已完成($result = 1
)或不($result = 0
)而不使用新的选择查询来检查更改,该怎么知道?
答案 0 :(得分:4)
mysql_query
返回true
(即无论运行多少行或未更新,都会运行时没有错误)。如果您想要实际更新的行数,则需要致电mysql_affected_rows
:
$sql = "UPDATE test_table SET lastname='ram' where id=1";
if (mysql_query($sql)) {
$result = mysql_affected_rows();
echo $result;
}