array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'mysqli-stmt.attr-set.php', 1 => 'mysqli_stmt::attr_set', 2 => 'Used to modify the behavior of a prepared statement', ), 'up' => array ( 0 => 'class.mysqli-stmt.php', 1 => 'mysqli_stmt', ), 'prev' => array ( 0 => 'mysqli-stmt.attr-get.php', 1 => 'mysqli_stmt::attr_get', ), 'next' => array ( 0 => 'mysqli-stmt.bind-param.php', 1 => 'mysqli_stmt::bind_param', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/mysqli/mysqli_stmt/attr-set.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Used to modify the behavior of a prepared statement
面向对象风格
过程化风格
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 对象。
attributeThe 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.
            Removed as of PHP 8.4.0.
            | 
          
       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.
valueThe value to assign to the attribute.
If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR) and the requested operation fails,
a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT,
a mysqli_sql_exception is thrown instead.