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("創(chuàng)建表.....\n"); //讀取記錄 $stmt = mysqli_prepare($con, "SELECT * FROM Test"); //執(zhí)行語句 mysqli_stmt_execute($stmt); //存儲結果 mysqli_stmt_store_result($stmt); //行數 $count = mysqli_stmt_num_rows($stmt); print("表中的行數: ".$count."\n"); //Freeing the resultset mysqli_stmt_free_result($stmt); $count = mysqli_stmt_num_rows($stmt); print("釋放結果后的行數: ".$count."\n"); //結束語句 mysqli_stmt_close($stmt); //關閉連接 mysqli_close($con); ?>
輸出結果
創(chuàng)建表..... 表中的行數: 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("創(chuàng)建表.....\n"); $stmt = $con -> prepare( "SELECT * FROM Test"); //執(zhí)行語句 $stmt->execute(); //存儲結果 $stmt->store_result(); print("存儲結果行數 ".$stmt ->num_rows); //釋放結果集內存 $stmt->free_result(); //結束語句 $stmt->close(); //關閉連接 $con->close(); ?>
輸出結果
創(chuàng)建表..... 存儲結果行數 : 3