MySQLi Tutorial MySQLi References

mysqli_stmt attr_set() Method



The mysqli_stmt::attr_set() / mysqli_stmt_attr_set() function is used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.

Syntax

//Object-oriented style
public mysqli_stmt::attr_set(attribute, value)

//Procedural style
mysqli_stmt_attr_set(statement, attribute, value)

Parameters

statement Required. For procedural style only: Specify a mysqli_stmt object returned by mysqli_stmt_init().
attribute

Required. Specify the attribute that need to be set. It can have one of the following values:

AttributesDescription
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 MYSQLI_STMT_ATTR_CURSOR_TYPE option is used with MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement when mysqli_stmt_execute() is invoked. 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 a cursor is opened for a prepared statement, mysqli_stmt_store_result() is unnecessary.
value Required. Specify the value to assign to the attribute.

Return Value

Returns true on success or false on failure.


❮ MySQLi Functions Reference