谁能告诉我@mysql_affected_rows 返回值的所有可能性。因为我在检查if(@mysql_affected_rows())
。在大多数情况下,它返回 1(成功)或 0(不成功)。所以它工作正常。但在某些情况下,如果更新不成功,它会返回 0 以外的一些值。
我不知道它返回什么。但它进入了循环。在循环内部我试图插入数据。但它为此在 SQL 上显示重复错误。供您参考,请检查以下代码,
$sqlU = sprintf("UPDATE %s SET count = count + 1
WHERE id = %d", 'table', 123);
mysql_query($sqlU);
if(!@mysql_affected_rows()) {
$sqlI = sprintf("INSERT INTO %s (id) VALUES (%d)",
'table', 123);
mysql_query($sqlI);
}