php8.5
Home/ Manual/ mysqli / mysqli_stmt/ mysqli_stmt::attr_set

mysqli_stmt::attr_set

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Used to modify the behavior of a prepared statement

Description

Oop

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

Procedural

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

Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.

Parameters

attribute

The attribute that you want to set. It can have one of the following values:

CharacterDescription
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTHSetting to true causes mysqli_stmt_store_result() to update the metadata MYSQL_FIELD->max_length value.
MYSQLI_STMT_ATTR_CURSOR_TYPEType of cursor to open for statement when mysqli_stmt_execute() is invoked. value can be MYSQLI_CURSOR_TYPE_NO_CURSOR (the default) or MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWSNumber of rows to fetch from server at a time when using a cursor. value can be in the range from 1 to the maximum value of unsigned long. The default is 1. Removed as of PHP 8.4.0.

If you use the MYSQLI_STMT_ATTR_CURSOR_TYPE option with MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement when you invoke mysqli_stmt_execute(). If there is already an open cursor from a previous mysqli_stmt_execute() call, it closes the cursor before opening a new one. mysqli_stmt_reset() also closes any open cursor before preparing the statement for re-execution. mysqli_stmt_free_result() closes any open cursor.

If you open a cursor for a prepared statement, mysqli_stmt_store_result() is unnecessary.

value

The value to assign to the attribute.

Return Values

Success

Errors/Exceptions Conditionalexception

See Also

  • Connector/MySQL mysql_stmt_attr_set()

Source: reference/mysqli/mysqli_stmt/attr-set.xml · from the official PHP manual (php/doc-en)