PHP mysqli_free_result()與mysqli_fetch_array()函數

高洛峰
發布: 2016-10-09 13:02:44
原創
1756 人瀏覽過

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參數: 數組,數組的鍵即為對應的字段名,你使用時可以像這樣: 
row[′firstname′]、row['lastname']…..

2:MYSQLI_NUM,傳回的結果數組為索引數組,數組的鍵即為0,1,2,3,4這樣的數字索引,你使用時只能這樣: 

$row[0]、row[1]…..

3:MYSQLI_BOTH,回傳的結果數組中同時存在欄位索引和數字索引,你使用時,上面兩種都可以用。


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板