標籤:
mysql_free_result() 僅需要在考慮到返回很大的結果集時會佔用多少記憶體時調用。在指令碼結束後所有關聯的記憶體都會被自動釋放。
在我們執行完SELECT語句後,釋放遊標記憶體是一個很好的習慣。 。可以通過PHP函數mysql_free_result()來實現記憶體的釋放。
//定義標頭檔,字元格式設定 header("Content-type:text/html;charset=utf-8"); error_reporting(ERR_ALL & ~ E_NOTICE); //定義本機伺服器串連資訊 $servername="localhost"; $username="root"; $password="admin"; $dbname="test"; //本地串連 $conn=mysqli_connect($servername,$username,$password,$dbname)or die(mysqli_error());//要查詢的資訊$sql="SELECT firstname,lastname,email FROM hello";$result=mysqli_query($conn,$sql);//判斷字串是否執行成功if($result){ while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) { echo $row["firstname"]." ".$row["lastname"]." ".$row["email"]."<br>"; echo "<hr>"; }}else{ die("fetch data failed!");}//釋放遊標記憶體mysqli_free_result($result); //關閉資料庫連接mysqli_close($conn);
注意:在此除了要講mysqli_free_result之外,我還要提一下mysqli_fetch_array()函數的第二個參數
mysqli_fetch_array(result,resulttype)
resulttype參數:
1:MYSQLI_ASSOC,返回結果數組為關聯陣列,數組的鍵即為相應的欄位名,你使用時可以像這樣:
row[′firstname′]、row[‘lastname’]…..
2:MYSQLI_NUM,返回的結果數組為索引數組,數組的鍵即為0,1,2,3,4這樣的數字索引,你使用時只能這樣:
$row[0]、row[1]…..
3:MYSQLI_BOTH,返回的結果數組中同時存在欄位索引和數字索引,你使用時,上面兩種都可以用。
參考閱讀:http://www.manongjc.com/article/1191.html
PHP mysqli_free_result()與mysqli_fetch_array()函數