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)
パラメーター:
返品値:成功の真のリターン、および失敗に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()メソッドを使用する前に、前処理ステートメントオブジェクトを準備する必要があることに注意してください。