@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);
}