php处理结果集,php中mysqli 处理查询结果集的几个方法

最近对php查询mysql处理结果集的几个方法不太明白的地方查阅了资料,在此整理记下

Php使用mysqli_result类处理结果集有以下几种方法

fetch_all()

抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。

fetch_array()

以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。

fetch_object()

以对象返回结果集的当前行。

fetch_row()

以枚举数组方式返回一行结果

fetch_assoc()

以一个关联数组方式抓取一行结果。

fetch_field_direct()

以对象返回结果集中单字段的元数据。

fetch_field()

以对象返回结果集中的列信息。

fetch_fields()

以对象数组返回代表结果集中的列信息。

fetch_all (从结果集中取得所有行作为关联数组)

$sql="select * from user";  $result=$link->query($sql);  $row=$result->fetch_all(MYSQLI_BOTH);//参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH规定产生数组类型

$n=0;  while($n";   $n++;

}

fetch_array (以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果)

$sql="select * from user";        $result=$link->query($sql);        while($row=$result->fetch_array()){            echo "ID:".$row["id"]."用户名:".$row[1]."密码:".$row["password"]."
";

}//fetch_array方法不再有结果时返回返回NULL

//其返回结果可以是关联数组也可以是数值数组索引,故$row["id"]、$row[1]都可以

fetch_object(以对象返回结果集的当前行)

$sql="select * from user";

$result=$link->query($sql);        while($row=$result->fetch_object()){

echo "ID:".$row->id."用户名:".$row->name."密码:".$row->password."
";

}//如果无更多的行则返回NULL//返回的结果是对象,要以对象的方式调用

fetch_row (以枚举数组方式返回一行结果)

$sql="select * from user";        $result=$link->query($sql);        while($row=$result->fetch_row()){            echo "ID:".$row[0]."用户名:".$row[1]."密码:".$row[2]."
";

}//无更多行时返回NULL

//以数值下标调用数组,a[0]正确、a["id"]则不

fetch_assoc (以一个关联数组方式抓取一行结果)

$sql="select * from user";        $result=$link->query($sql);        while($row=$result->fetch_assoc()){            echo "ID:".$row["id"]."用户名:".$row["name"]."密码:".$row["password"]."
";

}//无更多行时返回NULL

//以关联索引访问数组,a["id"]正确、a[0]则不

fetch_field_direct(以对象返回结果集中单字段的元数据既单列的信息)

$sql="select * from user";        $result=$link->query($sql);        $n=0;        while(1){            if(!$row=$result->fetch_field_direct($n++)) break;            echo "列名:".$row->name."所在表:".$row->table."数据类型:".$row->type."
";

}//fetch_field_direct($n)只返回单个列,所以得不断调用该方法,没有该列时返回false

fetch_field (以对象返回结果集中的列信息)

$sql="select * from user";        $result=$link->query($sql);        while($row=$result->fetch_field()){            echo "列名:".$row->name."所在表:".$row->table."数据类型:".$row->type."
";

}//该方法检索所有的列

//以对象方式返回列信息

//返回对象属性如:name - 列名,table - 该列所在的表名,type - 该列的类型,等

fetch_fields (以对象数组返回代表结果集中的列信息)

$sql="select * from user";        $result=$link->query($sql);        $row=$result->fetch_fields();        foreach($row as $val){            echo "列名:".$val->name."所在表:".$val->table."数据类型:".$val->type."
";

}//该方法功能与目的fetch_field一样

//不一样的是该方法返回一个对象数组(如:echo $row[0]->name;输出第一列的名字),而不是一次检索一列

另:mysqli_result类还有其他方法

field_tell()

返回字段指针的位置

data_seek()

调整结果指针到结果集中的一个任意行

num_fields()

返回结果集中的字段数(列数)

field_seek()

调整字段指针到特定的字段开始位置

free()

释放与某个结果集相关的内存

fetch_lengths()

返回结果集中当前行的列长度

num_rows()

返回结果集中的行数

本文转自孤舟夜航之家博客51CTO博客,原文链接http://blog.51cto.com/cysky/1701276如需转载请自行联系原作者

cysky

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python gamma函数_python gamma矫正

这个函数,主要用来做对比度调整,利用 gamma 曲线 或者 log 函数曲线,gamma 函数的表达式: yxγ, 其中, x 是输入的像素值,取值范围为 [0−1], y 是输出的像素值,通过调整γ 值,改变…

ios 支付验证 php,PHP验证IOS原生支付是否成功(代码全篇)

前言IOS原生支付后,需要调用服务端接口进行验证,检测是否真正的支付成功!class ApplePay{/** 环境配置(建议提成配置)* var bool*/private $sandbox false ;/** result as json* param int $code* param string $msg* param array $data* return string*/private function jso…

python自动化输入不了中文_appium+python自动化61-中文输入乱码问题解决

前言在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决。 打开手机设置语言和输入法,发现找不到Appium Android Input Manager for Unicode输入法导致的 相关环境:appium1.8…

PHP定时抽奖怎么实现的,PHP 实现抽奖逻辑

public static function get_rand($proArr) {$result "";//概率数组的总概率精度$proSum array_sum($proArr);//概率数组循环foreach ($proArr as $key > $proCur) {$randNum mt_rand(1, $proSum);if ($randNum < $proCur) {$result $key;break;} else {$p…

绿盟漏洞扫描_主机安全漏洞解决方案

前几天发了一篇等保2.0的文章(等保2.0简单介绍 )&#xff0c;文章里面提到&#xff0c;相比于等保1.0标准&#xff0c;等保2.0很大幅度上对安全通用要求的一些控制项做了大幅精简&#xff0c;但是等保二级的要求仍多达135项、等保三级多达211项。https://mp.weixin.qq.com/s/kE…

php电子商务模板,关于php:电商系统设计之运费模板下

电商大伙每天都在用&#xff0c;相似某猫&#xff0c;某狗等。电商零碎设计看似简单又很简略&#xff0c;看似简略又很简单本章适宜初中级工程师细看&#xff0c;大佬请随便【腾讯云】云产品限时秒杀&#xff0c;爆款1核2G云服务器&#xff0c;首年99元前言在订单零碎中&#x…

采用光线跟踪绘制场景 c++_光线追踪的相干性聚集:硬件光线追踪的优势

尽管在理论上实现现代GPU的方法是无限的&#xff0c;但真正有效的方法是切实地了解问题并着手将方案变为现实。制造现代高性能半导体器件以及试图加速当前可编程光栅化技术所面临的问题揭示了GPU硬件行业发展的未来趋势。例如在现代GPU中SIMD处理和固定功能纹理单元是必不可少的…

ajax请求php省略后缀,如何在PHP中更安全地处理Ajax请求?

在谷歌搜索了很多次后,回答结束了!步骤1:为所有Web服务生成令牌系统:生成令牌:session_start();$token md5(rand(1000,9999)); //you can use any encryption$_SESSION[token] $token; //store it as session variable?>步骤2:发送Ajax调用时使用它:var form_data {data…

python编写字符串查找函数_Python 简明教程 --- 8,Python 字符串函数

好代码本身就是最好的文档。当你需要添加一个注释时&#xff0c;你应该考虑如何修改代码才能不需要注释。—— Steve McConnell目录字符串有很多操作函数&#xff0c;所以&#xff0c;这里我们专门用一节来介绍这些函数。建议&#xff1a;由于字符串函数较多&#xff0c;对于新…

php汽车之家数据api,基于聚合数据的全国违章直连查询接口示例-PHP版

前言从聚合数据官网的接口文档中我们可以看出全国违章直连查询的调用一般来说需要两个步骤获取支持城市参数接口&#xff0c;即获取到不同城市的需要的参数的长度规则请求违章查询接口&#xff0c;即获取到车辆的违章记录我们以无锡城市为例代码部分<?php // 请求的接口URL…

xxljob 配置具体定时任务_分布式任务调度: XXL-Job

1 任务调度中心搭建、部署、任务管理与监控[1]任务调度中心页面2 SpringBoot 集成 xxl-job&#xff1a;创建调度任务maven项目pom.xml引入依赖:<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>…

php 判断同时存在英文跟数字,php判断输入是否是纯数字,英文,汉字的方法

本文实例讲述了php判断输入是否是纯数字&#xff0c;英文&#xff0c;汉字的方法。分享给大家供大家参考。具体分析如下&#xff1a;这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、还是纯汉字。简要说明如下&#xff1a;1、如果strlen返回…

前端白屏问题_深入理解前端性能监控

在同样的网络环境下&#xff0c;有两个同样能满足你的需求的网站&#xff0c;一个唰的一下就加载出来了&#xff0c;另一个白屏转圈转了半天内容才出来&#xff0c;如果让你选择&#xff0c;你会用哪一个&#xff1f;页面的性能问题是前端开发中一个重要环节&#xff0c;但一直…

java in action,java 7 in action

《JAVA语言程序设计》期末考试试题及答案7_远程、网络教育_成人教育_教育专区。《JAVA语言程序设计》期末考试试题及答案7 一、选择题 1. 请说出下列代码的执行结果......v alidateTree Methods inherited from class javaponent action, add, addCom ponentListener, addFocus…

信号的采样与恢复matlab实验报告,实验七 连续信号的采样与恢复

一、实验目的通过MATLAB仿真验证抽样定理&#xff0c;进一步加深对抽样定理的理解。二、实验原理1. 连续信号的采样对某一连续时间信号f(t)的采样原理图为&#xff1a;由图可知&#xff0c;&#xff0c;其中&#xff0c;单位冲激采样信号的表达式为&#xff1a; 其傅里叶变换为…

treegrid 如何获取getchanges inserted_如何避开Vue性能优化之路的荆棘?

随着这几年前端技术快速发展&#xff0c;Vue框架在国内普及率极高&#xff0c;人人都会用&#xff0c;那Vue如何写得比别人优雅&#xff1f;如何写得比别人漂亮&#xff1f;鉴于一线互联网大厂在前沿技术领域的持续研究和大规模投入&#xff0c;直接向他们取经&#xff0c;是最…

matlab+信号+mpf,Python和Matlab中平均频率的差异

我有这个EMG signal&#xff0c;我想根据这个article绘制平均功率频率。我使用以下代码在Matlab中实现它&#xff1a;clear all;close all;EMGload(EMG.txt);N1000; %my windowz1;fs200 %sampling ratefor i1:length(EMG)-NDUM0;NUM0;FTfft(EMG(i:iN-1));psdFT.*conj(FT);NFFTl…

matlab和vlfeat关联,VLFeat在matlab和vs中安装

转&#xff1a;http://blog.csdn.net/u011718701/article/details/51452011博主最近用vlfeat库做课题&#xff0c;网上搜索使用方法&#xff0c;一大片都会告诉你说&#xff1a;run(/vl_setup) 然后就好啦哈哈哈哈哈哈~~~~~~~~~~~~~~But!理想很丰满&#xff0c;现实很骨感&…

document.createelement如何绑定点击事件_番外篇-EXCEL如何使用宏(VBA)

小编&#xff0c;会在后续推送一些关于VBA(宏)相关的文章(之前其实也推送了一些&#xff0c;其中也大概说了一下如何使用)&#xff0c;所以我们今天就专门写一篇如何使用宏&#xff0c;方便大家使用已经写好的宏。如何使用宏&#xff1a;常规宏VBA-一般都是此类1、调出-开发工具…

mysql --max_allowed_packet=32m,如何修改MySQL-max_allowed_packet

首先查找my.cnf的配置文件(为了让配置永久生效)mysql --help | grep my.cnf修改mysql配置文件&#xff0c;找到vim /etc/my.cnfmax_allowed_packet 1024M >改为2048M保存退出&#xff0c;重新启动mysql服务、/etc/init.d/mysqld restart登录mysql通过本地地址mysql -uroot…