Едно просто решение би било две заявки.
Първо изпълнете заявка SELECT, за да проверите дали редът съществува, като използвате mysqli_num_rows().
След това, ако редът съществува, можете да изпълните заявката UPDATE и да използвате mysqli_affected_rows().
[РЕДАКТИРАНЕ]
...Ще предложа потенциална алтернатива за всеки, който търси едно обаждане. Не знам дали се интересувате от вмъкване или чисто актуализации. По-долу има малко храна за размисъл:
От горния коментар @ http://php.net/manual/en/ mysqli.affected-rows.php :
При заявки „INSERT INTO ON ON DUPLICATE KEY UPDATE“, въпреки че може да се очаква effected_rows да връща само 0 или 1 на ред при успешни заявки, всъщност може да върне 2.
От ръководството на Mysql:„С АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ, стойността на засегнатите редове на ред е 1, ако редът е вмъкнат като нов ред и 2, ако се актуализира съществуващ ред.
Вижте:http://dev.mysql.com /doc/refman/5.0/en/insert-on-duplicate.html
Ето разбивката на сумата на ред :
+0:ред не е актуализиран или вмъкнат (вероятно защото редът вече е съществувал, но стойностите на полето всъщност не са променени по време на АКТУАЛИЗИРАНЕТО)
+1:беше вмъкнат ред
+2:ред беше актуализиран
Можете ли да направите това да отговаря на вашите нужди?