# attr-set

mysqli_stmt::attr_set

mysqli_stmt_attr_set

Used to modify the behavior of a prepared statement

# 

ENTITY

ENTITY

<div data-wrapper="1" role="mysqli_stmt">

public

</div>

<div data-wrapper="1" role="mysqli_stmt">

bool

</div>

<div data-wrapper="1" role="mysqli_stmt">

mysqli_stmt::attr_set

</div>

<div data-wrapper="1" role="mysqli_stmt">

int

</div>

<div data-wrapper="1" role="mysqli_stmt">

attribute

</div>

<div data-wrapper="1" role="mysqli_stmt">

int

</div>

<div data-wrapper="1" role="mysqli_stmt">

value

</div>

ENTITY

bool

mysqli_stmt_attr_set

mysqli_stmt

statement

int

attribute

int

value

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

# 

ENTITY

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

| Character | Description |
|----|----|
| MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Setting to ENTITY causes `mysqli_stmt_store_result` to update the metadata `MYSQL_FIELD-ENTITYmax_length` value. |
| MYSQLI_STMT_ATTR_CURSOR_TYPE | Type 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_ROWS | Number 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. |

Attribute values {#mysqli-stmt.attr-set.parameters}

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.

# 

ENTITY

ENTITY

# 

ENTITY ENTITY

# 

ENTITY

[Connector/MySQL mysql_stmt_attr_set()](ENTITY)