如果使用mysql查询更新行,如何在PHP中返回

时间:2014-11-01 19:22:49

标签: php mysql

我使用以下查询/代码片段,通过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)而不使用新的选择查询来检查更改,该怎么知道?

1 个答案:

答案 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;
}