PDO::exec
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::exec — Виконує SQL-запит і повертає кількість порушених рядків
Опис
public PDO::exec(string $statement): int|false
МетодPDO::exec() запускає SQL-запит виконання і повертає кількість рядків, задіяних під час виконання.
МетодPDO::exec() не повертає результат вибірки оператором SELECT. Якщо потрібно вибрати дані цим оператором один раз під час виконання програми, використовують метод PDO::query(). Якщо потрібно запускати той самий запит на вибірку безліч разів, краще створити підготовлений запит PDOStatement методом PDO::prepare(), а потім запускати його методом PDOStatement::execute() стільки разів, скільки потрібно.
Список параметрів
statement
SQL-вираз, який необхідно підготувати та запустити.
Дані всередині запиту мають бути правильно екрановані
Значення, що повертаються
МетодPDO::exec() повертає кількість рядків, які були модифіковані чи видалені під час виконання. Якщо таких рядків немає, метод PDO::exec() поверне значення
Увага
Ця функція може повертати як логічне значення **false
**так і значення не типу boolean, яке наводиться до false
. За більш детальною інформацією зверніться до розділу Логічний типИспользуйтеоператор === для перевірки значення, яке повертається цією функцією.
У цьому прикладі розробник припустився помилки, покладаючись на метод, що повертається. PDO::exec() результат. В результаті, якщо запит відпрацював без помилок, але не модифікував жодного рядка, робота скрипта буде завершена функцією die() :
Loading...
Помилки
Видає помилку рівня E_WARNING
, якщо атрибуту PDO::ATTR_ERRMODE
установлено значениеPDO::ERRMODE_WARNING
Викидає виняток PDOException, якщо атрибуту PDO::ATTR_ERRMODE
установлено значениеPDO::ERRMODE_EXCEPTION
Приклади
Приклад #1 Виконання запиту DELETE
Отримання кількості видалених записів запитом DELETE без умов WHERE.
Loading...
Результат виконання наведеного прикладу:
Удалено 1 строк.
Дивіться також
- PDO::prepare() - готує запит до виконання та повертає пов'язаний із цим запитом об'єкт
- PDO::query() - готує та виконує вираз SQL без заповнювачів
- PDOStatement::execute() - Запускає підготовлений запит на виконання