(PHP 5, PHP 7, PHP 8)
mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Used to modify the behavior of a prepared statement
面向对象风格
$attribute
, int $value
): bool过程化风格
Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.
statement
仅以过程化样式:由 mysqli_stmt_init() 返回的 mysqli_stmt 对象。
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 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. 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.
|
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.
成功时返回 true
, 或者在失败时返回 false
。