mysql_affected_rows () возвращает -1

При выполнении оператора SQL, такого как ВСТАВИТЬ В таблицу ... ПРИ ОБНОВЛЕНИИ ДВОЙНОГО КЛЮЧА ... Я полагаюсь на mysql_affected_rows (), чтобы определить, была ли выполнена вставка или обновление. на сайте mysql на http://dev.mysql.com/doc/refman/5.1/en/mysql-affected-rows.html говорится:

Для ВСТАВИТЬ ... НА ДУБЛИРОВАНИИ KEY UPDATE, значение затронутых строк равно 1, если строка вставлена ​​как новая строка, и 2, если существующая строка обновлена.

Все работало нормально, пока мы не обновились до MySQL 5.1.16, когда многие запросы теперь имели mysql_affected_rows () возвращает МИНУС ОДИН (-1)

Предлагаемое решение на сайте MySQL на http://dev.mysql.com/doc/refman/5.1/en/mysql-store-result.html заключается в вызове функции mysql_store_result () после каждого выполнения функции mysql_query () в запросе на выбор.

Однако, похоже, что в PHP такая функция не определена.

Как получить mysql_affected_rows () чтобы правильно работать с PHP и MySQL 5.1.16?

6
задан yirmi 17 July 2011 в 08:55
поделиться