Una soluzione semplice sarebbero due domande.
Innanzitutto, esegui una query SELECT per verificare se la riga esiste utilizzando mysqli_num_rows().
Quindi, se la riga esiste, puoi eseguire la query UPDATE e utilizzare mysqli_affected_rows().
[MODIFICA]
... Suggerirò una potenziale alternativa per chiunque cerchi una singola chiamata. Non so se sei interessato a fare INSERT o semplicemente UPDATE. Di seguito alcuni spunti di riflessione:
Dall'alto commento @ http://php.net/manual/en/ mysqli.affected-rows.php :
Sulle query "INSERT INTO ON DUPLICATE KEY UPDATE", sebbene ci si possa aspettare che le righe_affettate restituiscano solo 0 o 1 per riga in caso di query riuscite, in realtà potrebbe restituire 2.
Dal manuale di Mysql:"Con ON DUPLICATE KEY UPDATE, il valore delle righe interessate per riga è 1 se la riga viene inserita come nuova riga e 2 se viene aggiornata una riga esistente."
Vedere:http://dev.mysql.com /doc/refman/5.0/en/insert-on-duplicate.html
Ecco la ripartizione della somma per riga :
+0:una riga non è stata aggiornata o inserita (probabilmente perché la riga esisteva già, ma nessun valore di campo è stato effettivamente modificato durante l'AGGIORNAMENTO)
+1:è stata inserita una riga
+2:è stata aggiornata una riga
Puoi adattarlo alle tue esigenze?