mysqli_stmt::attr_set
(mysqli_stmt_attr_set)用於修改預準備語句的行為
函數名:mysqli_stmt::attr_set()
適用版本:PHP 8.0.0 及以上版本
用法:該方法用於設置預處理語句對象的屬性。
語法:bool mysqli_stmt::attr_set(int $attr, mixed $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() 方法之前必須先準備好預處理語句對象。