牛牛在线工具

mysqli_stmt::attr_set()

收录 8868 个 PHP 函数,含用途说明与用法示例。

mysqli_stmt::attr_set()

设置预处理语句对象的属性

函数名:mysqli_stmt::attr_set() 适用版本:PHP 8.0.0 及以上版本 用法:该方法用于设置预处理语句对象的属性。 语法:bool mysqli_stmt::attr_set(int $attr, mixed $mode) 参数: $attr:表示要设置的属性,可以是以下常量之一: MYSQLI_STMT_ATTR_CURSOR_TYPE:设置预处理语句的游标类型。可选值包括: MYSQLI_CURSOR_TYPE_NO_CURSOR:不使用游标。 MYSQLI_CURSOR_TYPE_READ_ONLY:只读游标。 MYSQLI_CURSOR_TYPE_FOR_UPDATE:可更新游标。 MYSQLI_CURSOR_TYPE_SCROLLABLE:可滚动游标。 MYSQLI_STMT_ATTR_PREFETCH_ROWS:设置预处理语句的预取行数。可选值为正整数。 $mode:表示要设置的属性的值。 返回值:成功时返回 true,失败时返回 false。 示例: // 创建数据库连接 $mysqli = new mysqli("localhost", "username", "password", "database"); // 准备预处理语句 $stmt = $mysqli->prepare("SELECT id, name FROM my_table WHERE age > ?"); // 设置预处理语句的游标类型为可滚动游标 $stmt->attr_set(MYSQLI_STMT_ATTR_CURSOR_TYPE, MYSQLI_CURSOR_TYPE_SCROLLABLE); // 设置预处理语句的预取行数为 100 $stmt->attr_set(MYSQLI_STMT_ATTR_PREFETCH_ROWS, 100); // 绑定参数并执行查询 $age = 18; $stmt->bind_param("i", $age); $stmt->execute(); // 获取结果集 $result = $stmt->get_result(); // 遍历结果集并输出数据 while ($row = $result->fetch_assoc()) { echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>"; } // 关闭预处理语句和数据库连接 $stmt->close(); $mysqli->close(); 以上示例中,我们首先创建了一个数据库连接对象 $mysqli,并使用该对象准备了一个预处理语句 $stmt。然后,我们使用 mysqli_stmt::attr_set() 方法分别设置了预处理语句的游标类型为可滚动游标和预取行数为 100。接下来,我们绑定参数并执行了查询,然后通过获取结果集并遍历输出了查询结果。最后,我们关闭了预处理语句和数据库连接。 请注意,使用 mysqli_stmt::attr_set() 方法之前必须先准备好预处理语句对象。