mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows - Повертає число порушених минулою операцією рядів

Увага

Цей модуль застарів, починаючи з версії PHP 5.5.0, і видалений у PHP 7.0.0. Використовуйте замість нього MySQLi або PDO_MySQLСмотрите также инструкциюMySQL: вибір API. Альтернативи для цієї функції:

Опис

mysql_affected_rows(resource $link_identifier = NULL): int

Повертає кількість рядів, які торкнулися останнім INSERT, UPDATE, REPLACE або DELETE запитом, пов'язаним з дескриптором link_identifier

Список параметрів

link_identifier

З'єднання MySQL. Якщо ідентифікатор з'єднання не вказано, буде використано останнє з'єднання, відкрите mysql_connect(). Якщо таке з'єднання не було знайдено, функція спробує створити таке, якби mysql_connect() було викликано без параметрів. Якщо з'єднання не було знайдено та не змогло бути створено, генерується помилка рівня E_WARNING

Значення, що повертаються

Повертає кількість змінених записів у разі успішного виконання, і -1 якщо останній запит не вдався.

Якщо останній запит був DELETE без вказівки WHERE і, відповідно, таблицю було очищено, функція поверне нуль у всіх версіях MySQL до 4.1.2.

При використанні UPDATE MySQL не оновить колонки, що вже містять нове значення. Внаслідок цього, функція mysql_affected_rows() не завжди повертає кількість рядів, що підійшли під умови, лише кількість рядів, оновлених запитом.

Запит REPLACE спочатку видаляє запис із зазначеним первинним ключем, а потім вставляє новий. Ця функція повертає кількість видалених записів разом із кількістю вставлених.

У разі використання запитів типу "INSERT ... ON DUPLICATE KEY UPDATE", значення, що повертається, буде дорівнює у випадку, якщо була зроблена вставка, або при обновлении существующего ряда.

Приклади

Приклад #1 Приклад використання mysql_affected_rows()****

Loading...

Висновок наведеного прикладу буде схожим на:

Удалено записей: 10
Удалено записей: 0

Приклад #2 Приклад використання mysql_affected_rows()** з транзакціями**

Loading...

Висновок наведеного прикладу буде схожим на:

Обновлено записей: 10

Примітки

Зауваження Транзакції

При использовании транзакцийmysql_affected_rows() потрібно викликати після запитів INSERT, UPDATE, DELETE, але з COMMIT.

Зауваження Запити SELECT

Щоб отримати кількість рядів, повернутих SELECT-запитом, використовуйте функцію mysql_num_rows()

Зауваження Каскадні зовнішні ключі

mysql_affected_rows() не підраховує ряди, неявно змінені обмеженнями ON DELETE CASCADE та/або ON UPDATE CASCADE.

Дивіться також

  • mysql_num_rows() - Повертає кількість рядів результату запиту
  • mysql_info() - Повертає інформацію про останній запит