CakeFest 2024: The Official CakePHP Conference

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::attr_set -- mysqli_stmt_attr_setИзменяет поведение подготовленного запроса

Описание

Объектно-ориентированный стиль

public mysqli_stmt::attr_set(int $attribute, int $value): bool

Процедурный стиль

mysqli_stmt_attr_set(mysqli_stmt $statement, int $attribute, int $value): bool

Используется для изменения поведения подготовленного запроса. Эта функция может быть вызвана несколько раз для установки нескольких атрибутов.

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

stmt

Только для процедурного стиля: объект mysqli_stmt, который вернула функция mysqli_stmt_init().

attribute

Устанавливаемый атрибут. Он может принимать следующие значения:

Значения атрибута
Символ Описание
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Если равен true, то mysqli_stmt_store_result() обновляет метаданные значением MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE Тип указателя, который надо открыть для запроса при вызове mysqli_stmt_execute(). value может быть MYSQLI_CURSOR_TYPE_NO_CURSOR (по умолчанию) или MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS Число строк, которые необходимо выбрать с сервера при использовании указателя. value может быть в диапазоне от 1 максимального значения типа unsigned long. По умолчанию равно 1.

Если используется опция MYSQLI_STMT_ATTR_CURSOR_TYPE вместе с MYSQLI_CURSOR_TYPE_READ_ONLY, то указатель будет открыт для запроса когда будет запущена mysqli_stmt_execute(). Если есть уже открытый указатель от предыдущего запуска mysqli_stmt_execute(), то указатель будет закрыт перед открытием нового. mysqli_stmt_reset() также закрывает любой открытый указатель перед подготовкой запроса перед перезапуском. mysqli_stmt_free_result() закрывает любой открытый указатель.

Если вы открываете указатель для подготовленного запроса, то в использовании mysqli_stmt_store_result() нет необходимости.

value

Значение присваиваемое атрибуту.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Ошибки

Если уведомления об ошибках mysqli включены (MYSQLI_REPORT_ERROR) и запрошенная операция не удалась, выдаётся предупреждение. Если, кроме того, установлен режим MYSQLI_REPORT_STRICT, вместо этого будет выброшено исключение mysqli_sql_exception.

Смотрите также

add a note

User Contributed Notes 1 note

up
4
chad 0x40 digitellinc 0x2e com
15 years ago
This is basically a wrapper for mysql_stmt_attr_set in the MySQL C API: http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-attr-set.html
To Top