Solusi sederhana adalah dua pertanyaan.
Pertama, jalankan kueri SELECT untuk memeriksa apakah baris tersebut ada menggunakan mysqli_num_rows().
Kemudian, jika baris tersebut ada, Anda dapat menjalankan kueri UPDATE dan menggunakan mysqli_affected_rows().
[EDIT]
...Saya akan menyarankan alternatif potensial bagi siapa saja yang mencari satu panggilan. Saya tidak tahu apakah Anda tertarik untuk melakukan INSERT, atau murni UPDATE. Di bawah ini adalah beberapa bahan untuk dipikirkan:
Dari komentar teratas @ http://php.net/manual/en/ mysqli.affected-rows.php :
Pada kueri "INSERT INTO ON DUPLICATE KEY UPDATE", meskipun orang mungkin mengharapkan terpengaruh_rows untuk mengembalikan hanya 0 atau 1 per baris pada kueri yang berhasil, itu mungkin sebenarnya mengembalikan 2.
Dari manual Mysql:"Dengan ON DUPLICATE KEY UPDATE, nilai baris yang terpengaruh per baris adalah 1 jika baris dimasukkan sebagai baris baru dan 2 jika baris yang ada diperbarui."
Lihat:http://dev.mysql.com /doc/refman/5.0/en/insert-on-duplicate.html
Berikut rincian jumlah per baris :
+0:baris tidak diperbarui atau disisipkan (kemungkinan karena baris sudah ada, tetapi tidak ada nilai bidang yang benar-benar diubah selama PEMBARUAN)
+1:satu baris dimasukkan
+2:satu baris telah diperbarui
Bisakah Anda membuatnya sesuai dengan kebutuhan Anda?