English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_free_result()関数は指定されたクエリハンドルの保持する結果のメモリを解放します。
mysqli_stmt_free_result()関数は(準備された)クエリオブジェクトを受け取り、指定されたクエリの結果を保持するメモリを解放します(mysqli_stmt_store_result()関数を使用して結果を保存した場合)。
mysqli_stmt_free_result($stmt);
番号 | 引数および説明 |
---|---|
1 | con(必須) これは準備されたクエリのオブジェクトを表します。 |
PHP mysqli_stmt_free_result()関数は何も値を返しません。
この関数は最初にPHPバージョン5で導入され、すべての上位バージョンで使用できます。
以下の例では、mysqli_stmt_free_result()関数の使い方(手続き型スタイル),結果を解放した後の行数を返します:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"); mysqli_query($con, "insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("テーブルの作成...\n"); //レコードの読み取り $stmt = mysqli_prepare($con, "SELECT * FROM Test"); //ステートメントの実行 mysqli_stmt_execute($stmt); //結果の保存 mysqli_stmt_store_result($stmt); //行数 $count = mysqli_stmt_num_rows($stmt); print("テーブルの行数: ".$count."\n"); //結果セットの解放 mysqli_stmt_free_result($stmt); $count = mysqli_stmt_num_rows($stmt); print("結果セットを解放した後の行数: ".$count."\n"); //ステートメントを終了 mysqli_stmt_close($stmt); //接続を閉じる mysqli_close($con); ?>
結果の出力
テーブルの作成... テーブルの行数: 3 結果セットを解放した後の行数: 0
オブジェクト指向スタイルでは、この関数の構文は以下の通りです$stmt->free_result();。以下は、オブジェクト指向スタイルでのこの関数の例です;
<?php //接続の確立 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("テーブルの作成...\n"); $stmt = $con -> prepare( "SELECT * FROM Test"); //ステートメントの実行 $stmt->execute(); //結果の保存 $stmt->store_result(); print("結果行数の保存".$stmt ->num_rows); //結果セットのメモリを解放 $stmt->free_result(); //ステートメントを終了 $stmt->close(); //接続を閉じる $con->close(); ?>
結果の出力
テーブルの作成... 結果行数の保存 3