PHP MySQLi 函数

PHP mysqli_stmt::attr_set() / mysqli_stmt_attr_set() 函数用于修改预准备语句的行为。该函数可以被多次调用以设置多个属性。

语法

//面向对象风格
public mysqli_stmt::attr_set(attribute, value)

//面向过程风格
mysqli_stmt_attr_set(statement, attribute, value)

参数

statement 必填。 仅适用于面向过程风格:指定 mysqli_stmt_init() 返回的 mysqli_stmt 对象。
属性

必填。 指定需要设置的属性。它可以具有以下值之一:

属性描述
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH设置为 true 会导致 mysqli_stmt_store_result() 更新元数据 MYSQL_FIELD->max_length 值。
MYSQLI_STMT_ATTR_CURSOR_TYPE调用 mysqli_stmt_execute() 时为语句打开的游标类型。 value 可以是 MYSQLI_CURSOR_TYPE_NO_CURSOR(默认值)或 MYSQLI_CURSOR_TYPE_READ_ONLY。
MYSQLI_STMT_ATTR_PREFETCH_ROWS一次从服务器获取的行数使用光标时。 的范围可以是从1到unsigned long的最大值。默认值为 1。

如果 MYSQLI_STMT_ATTR_CURSOR_TYPE 选项与 MYSQLI_CURSOR_TYPE_READ_ONLY 一起使用,则在调用 mysqli_stmt_execute() 时为该语句打开游标。如果先前的 mysqli_stmt_execute() 调用已打开游标,则它会在打开新游标之前关闭该游标。 mysqli_stmt_reset() 还会在准备重新执行语句之前关闭所有打开的游标。 mysqli_stmt_free_result() 关闭所有打开的游标。

如果为准备好的语句打开游标,则不需要 mysqli_stmt_store_result()。
value 必填。 指定要分配给属性的值。