PHP mysqli_free_result()与mysqli_fetch_array()函数详解

yipeiwu_com6年前Mysql基础

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,返回的结果数组中同时存在字段索引和数字索引,你使用时,上面两种都可以用。

以上就是对PHPmysqli_free_result()与mysqli_fetch_array()的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

相关文章

php mysql获取表字段名称和字段信息的三种方法

php mysql获取表字段名称和字段信息的三种方法

php mysql获取表字段名称和字段信息的三种方法 先给出本实例中使用的表的信息: 使用desc获取表字段信息 php代码如下: <?php mysql_co...

PHP入门教程之PHP操作MySQL的方法分析

PHP入门教程之PHP操作MySQL的方法分析

本文实例讲述了PHP操作MySQL的方法。分享给大家供大家参考,具体如下: 设置Zend 软件所有 UTF-8 编码 设置单个项目 UTF-8 的编码 Demo1.php <...

PHP数据库操作之基于Mysqli的数据库操作类库

此类库简单、易用,便于你自己修改和对功能的改善,能解决大部分 PHP 项目中执行的 SQL 操作。 初步工作 首先,请大家下载这个类库 M.class.php 再下载一个 My...

PHP7.0连接DB操作实例分析【基于mysqli】

PHP7.0连接DB操作实例分析【基于mysqli】

本文实例讲述了PHP7.0连接DB操作。分享给大家供大家参考,具体如下: PHP <?php //连接数据库 $link = mysqli_connect('local...

php SQL Injection with MySQL

php SQL Injection with MySQL

前言   2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国外的已经炉火纯青了,国内...