mysqli_stmt::attr_set()
(PHP 5, PHP 7)
Used to modify the behavior of a prepared statement
说明
面向对象风格
mysqli_stmt::attr_set(int $attr,int $mode): bool
过程化风格
mysqli_stmt_attr_set(mysqli_stmt$stmt,int $attr,int $mode): bool
Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.
参数
- $stmt
仅以过程化样式:由mysqli_stmt_init()返回的 statement 标识。
- $attr
The attribute that you want to set. It can have one of the following values:
Attribute values Character Description MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Setting to TRUE
causes mysqli_stmt_store_result() to update the metadataMYSQL_FIELD->max_lengthvalue.MYSQLI_STMT_ATTR_CURSOR_TYPE Type of cursor to open for statement when mysqli_stmt_execute() is invoked.$modecan beMYSQLI_CURSOR_TYPE_NO_CURSOR(the default)orMYSQLI_CURSOR_TYPE_READ_ONLY. MYSQLI_STMT_ATTR_PREFETCH_ROWS Number of rows to fetch from server at a time when using a cursor.$modecan be in the range from 1 to the maximum value of unsigned long. The default is 1. If you use theMYSQLI_STMT_ATTR_CURSOR_TYPEoption withMYSQLI_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()
This is basically a wrapper for mysql_stmt_attr_set in the MySQL C API: http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-attr-set.html