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() - Закриває підготовлений запит