mysqli_stmt::prepare
mysqli_stmt_prepare
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::prepare -- mysqli_stmt_prepare — Підготовка затвердження SQL до виконання
Опис
Об'єктно-орієнтований стиль
public mysqli_stmt::prepare(string $query): bool
Процедурний стиль
mysqli_stmt_prepare(mysqli_stmt $statement, string $query): bool
Готує затвердження до виконання. Запит повинен складатися з одного оператора SQL.
Шаблон затвердження може містити нуль або кілька знаків запитання (?
), позначок параметрів, також званих заповнювачами. Мітки параметрів повинні бути прив'язані до змінних додатків за допомогою mysqli_stmt_bind_param() перед виконанням затвердження. рядків.
Зауваження :
У разі, якщо довжина виразу, що передається в mysqli_stmt_prepare(), больше, чем
max_allowed_packet
сервера, коди помилки, що повертаються можуть відрізнятися в залежності від використовуваного драйвера. А це може бути або рідний MySQL-драйвер (mysqlnd
), або клієнтська бібліотека MySQL (libmysqlclient
). Поведінка функції буде такою:
mysqlnd
на платформі Linux повертає код помилки 1153. Повідомлення про помилку означає розмір пакета перевищуєmax_allowed_packet
байт.
mysqlnd
на платформі Windows повертає код помилки 2006. Це повідомлення про помилку означає, що сервер недоступний.
libmysqlclient
на всіх платформах повертає код помилки 2006 року. Це повідомлення про помилку означає сервер недоступний.
Список параметрів
stmt
Тільки для процедурного стилю: об'єкт mysqli_stmt, який повернула функція mysqli_stmt_init()
query
Текст запиту у вигляді рядка. Запит повинен складатися з одного виразу SQL.
Затвердження SQL може містити нуль або більше позначок параметрів, представлених знаками питання (?
) у відповідних позиціях.
Зауваження :
Мітки параметрів запиту можна вбудовувати лише у певні місця у виразі. Наприклад, вони допустимі у списку
VALUES()
виразиINSERT
(щоб задати значення стовпців для рядка), або в операціях порівняння реченняWHERE
для завдання порівнюваного значення. Однак ці позначки неприпустимі як ідентифікатори (наприклад, імена стовпців або таблиць).
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
Помилки
Якщо сповіщення про помилки mysqli включено (MYSQLI_REPORT_ERROR
) та запитана операція не вдалася, видається попередження. Якщо, крім того, встановлено режим MYSQLI_REPORT_STRICT
, натомість буде викинуто виняток mysqli_sql_exception
Приклади
Приклад #1 Приклад використання mysqli_stmt::prepare()****
Об'єктно-орієнтований стиль
Loading...
Процедурний стиль
Loading...
Результат виконання наведених прикладів:
Amersfoort находится в районе Utrecht
Дивіться також
- mysqli_stmt_init() - Ініціалізує запит та повертає об'єкт для використання у mysqli_stmt_prepare
- mysqli_stmt_execute() - Виконує підготовлене затвердження
- mysqli_stmt_fetch() - пов'язує результати підготовленого виразу зі змінними
- mysqli_stmt_bind_param() - Прив'язка змінних до параметрів запиту, що готується.
- mysqli_stmt_bind_result() - Прив'язка змінних до підготовленого запиту для розміщення результату
- mysqli_stmt_get_result() - Отримує результат із підготовленого запиту у вигляді об'єкта mysqli_result
- mysqli_stmt_close() - Закриває підготовлений запит