MySQL and PHP
Copyright 1997-2021 the PHP Documentation Group.
mysqli_stmt::attr_set
mysqli_stmt_attr_set
Used to modify the behavior of a prepared statement
Object oriented style
public bool mysqli_stmt::attr_set(int attr,
int mode);
Procedural style
bool mysqli_stmt_attr_set(mysqli_stmt stmt,
int attr,
int mode);
Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.
stmt
Procedural style only: A statement identifier returned
by
mysqli_stmt_init
.
attr
The attribute that you want to set. It can have one of the following values:
Table 3.13 Attribute values
Character | Description |
---|---|
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Setting to true causes
mysqli_stmt_store_result
to update the metadata
MYSQL_FIELD->max_length
value. |
MYSQLI_STMT_ATTR_CURSOR_TYPE | Type of cursor to open for statement when
mysqli_stmt_execute
is invoked. mode 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.
mode 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.
mode
The value to assign to the attribute.
Connector/MySQL mysql_stmt_attr_set() |