Documentation Home
Connectors and APIs Manual
Download this Manual
PDF (US Ltr) - 5.3Mb
PDF (A4) - 5.3Mb

Connectors and APIs Manual  /  ...  /  mysqli_stmt::attr_set, mysqli_stmt_attr_set mysqli_stmt::attr_set, mysqli_stmt_attr_set

Copyright 1997-2022 the PHP Documentation Group.

  • mysqli_stmt::attr_set


    Used to modify the behavior of a prepared statement


Object-oriented style

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

Procedural style

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.



Procedural style only: A mysqli_stmt object returned by mysqli_stmt_init.


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

Table 7.14 Attribute values

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.

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.


The value to assign to the attribute.

Return Values

Returns true on success or false on failure.

See Also

Connector/MySQL mysql_stmt_attr_set()