PHP mysqli_free_result()与mysqli_fetch_array()函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP mysqli_free_result()与mysqli_fetch_array()函数相关的知识,希望对你有一定的参考价值。

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()函数的主要内容,如果未能解决你的问题,请参考以下文章

警告:mysqli_free_result() 再次 [重复]

20211010 PHP笔记

半吊子菜鸟学Web开发 -- PHP学习5-数据库

陷入困境的疑问

mysqli连接数据库常见函数

LNMP构架-简介与php安装(与lamp不同)