Alasan lain Anda mendapatkan 0 baris yang terpengaruh adalah jika UPDATE
pernyataan tidak cocok dengan baris. Misalnya:
UPDATE MyTable SET field = 'content' WHERE id = 1234;
Memberikan 0 baris yang terpengaruh jika tidak ada baris dengan id = 1234
. Ini juga bukan kesalahan, ini hanya UPDATE
yang kebetulan tidak cocok dengan baris.
Cara mendeteksi kasus ini adalah dengan menggunakan SELECT
untuk memverifikasi bahwa ada baris seperti itu. Jika Anda dapat mengonfirmasi bahwa baris tersebut ada, tetapi UPDATE
mengatakan itu mempengaruhi 0 baris, maka Anda tahu bahwa nilai yang Anda coba ubah sebenarnya adalah baris yang sudah ada di database.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
Tetapi perbedaan itu mungkin tidak penting. Anda dapat melaporkan kesalahan jika mysql_error()
mengatakan ada satu, seperti yang disarankan @BoltClock.*Jika tidak ada kesalahan, Anda bisa melaporkan "tidak ada perubahan" kepada pengguna.