日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysqli 返回一条结果_php中mysqli 处理查询结果集总结

發(fā)布時間:2024/9/19 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysqli 返回一条结果_php中mysqli 处理查询结果集总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在PHP開發(fā)中,我們經(jīng)常會與數(shù)據(jù)庫打交道。我們都知道,一般的數(shù)據(jù)處理操作流程為

接收表單數(shù)據(jù)

數(shù)據(jù)入庫

//連接數(shù)據(jù)庫

$link = mysqli_connect("my_host", "my_user", "my_password", "my_db", "my_port");

//設(shè)置字符編碼

mysqli->query("SET NAME {$conf['charset']}");

//設(shè)置時區(qū)

date_default_timezone_set('PRC');

//拼接SQL語句

$sql = "…………";

//執(zhí)行SQL語句

$res = mysqli->query($sql);

//根據(jù)執(zhí)行后返回結(jié)果判斷是否操作成功

if($res){

//數(shù)據(jù)庫操作成功后的處理

}else{

//數(shù)據(jù)庫操作成功后的處理

}

當(dāng)在上面的$sql為查詢語句時,在if($res)后,我們一般會對得到的結(jié)果集進(jìn)行一系列的操作。

最基本的就是使用mysqli_result類處理結(jié)果集,主要有以下幾種方法:

fetch_all() :抓取所有的結(jié)果行并且以關(guān)聯(lián)數(shù)據(jù),數(shù)值索引數(shù)組,或者兩者皆有的方式返回結(jié)果集。

fetch_array() :以一個關(guān)聯(lián)數(shù)組,數(shù)值索引數(shù)組,或者兩者皆有的方式抓取一行結(jié)果。

fetch_object() :以對象返回結(jié)果集的當(dāng)前行。

fetch_row() :以枚舉數(shù)組方式返回一行結(jié)果

fetch_assoc(): 以一個關(guān)聯(lián)數(shù)組方式抓取一行結(jié)果。

fetch_field_direct(): 以對象返回結(jié)果集中單字段的元數(shù)據(jù)。

fetch_field() :以對象返回結(jié)果集中的列信息。

fetch_fields() :以對象數(shù)組返回代表結(jié)果集中的列信息。

fetch_all (從結(jié)果集中取得所有行作為關(guān)聯(lián)數(shù)組)

$sql="select * from user";

$result=$link->query($sql);

$row=$result->fetch_all(MYSQLI_BOTH);//參數(shù)MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH規(guī)定產(chǎn)生數(shù)組類型

$n=0;

while($n

echo "ID:".$row[$n]["id"]."用戶名:".$row[$n]["name"]."密碼:".$row[$n]["password"]."
";

$n++;

}

fetch_array (以一個關(guān)聯(lián)數(shù)組,數(shù)值索引數(shù)組,或者兩者皆有的方式抓取一行結(jié)果)

$sql="select * from user";

$result=$link->query($sql);

while($row=$result->fetch_array()){

echo "ID:".$row["id"]."用戶名:".$row[1]."密碼:".$row["password"]."
";

}

//fetch_array方法不再有結(jié)果時返回返回NULL

//其返回結(jié)果可以是關(guān)聯(lián)數(shù)組也可以是數(shù)值數(shù)組索引,故$row["id"]、$row[1]都可以

fetch_object (以對象返回結(jié)果集的當(dāng)前行)

$sql="select * from user";

$result=$link->query($sql);

while($row=$result->fetch_object()){

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

}

//如果無更多的行則返回NULL

//返回的結(jié)果是對象,要以對象的方式調(diào)用

fetch_row (以枚舉數(shù)組方式返回一行結(jié)果)

$sql="select * from user";

$result=$link->query($sql);

while($row=$result->fetch_row()){

echo "ID:".$row[0]."用戶名:".$row[1]."密碼:".$row[2]."
";

}

//無更多行時返回NULL

//以數(shù)值下標(biāo)調(diào)用數(shù)組,a[0]正確、a["id"]則不正確

fetch_assoc (以一個關(guān)聯(lián)數(shù)組方式抓取一行結(jié)果)

$sql="select * from user";

$result=$link->query($sql);

while($row=$result->fetch_assoc()){

echo "ID:".$row["id"]."用戶名:".$row["name"]."密碼:".$row["password"]."
";

}

//無更多行時返回NULL

//以關(guān)聯(lián)索引訪問數(shù)組,a["id"]正確、a[0]則不正確

fetch_field_direct (以對象返回結(jié)果集中單字段的元數(shù)據(jù)既單列的信息)

$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."數(shù)據(jù)類型:".$row->type."
";

}

//fetch_field_direct($n)只返回單個列,所以得不斷調(diào)用該方法,沒有該列時返回false

fetch_field (以對象返回結(jié)果集中的列信息)

$sql="select * from user";

$result=$link->query($sql);

while($row=$result->fetch_field()){

echo "列名:".$row->name."所在表:".$row->table."數(shù)據(jù)類型:".$row->type."
";

}

//該方法檢索所有的列

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

//返回對象屬性如:name - 列名,table - 該列所在的表名,type - 該列的類型等

fetch_fields (以對象數(shù)組返回代表結(jié)果集中的列信息)

$sql="select * from user";

$result=$link->query($sql);

$row=$result->fetch_fields();

foreach($row as $val){

echo "列名:".$val->name."所在表:".$val->table."數(shù)據(jù)類型:".$val->type."
";

}

//該方法功能與目的fetch_field一樣

//不一樣的是該方法返回一個對象數(shù)組(如:echo $row[0]->name;輸出第一列的名字),而不是一次檢索一列

以上的循環(huán)除了while皆可替代為foreach,如:

$sql="select * from user";

$result=$link->query($sql);

$data=$result->fetch_assoc();

foreach($data as $row){

echo "ID:".$row["id"]."用戶名:".$row["name"]."密碼:".$row["password"]."
";

}

其他示例代碼皆可用foreach替代。

foreach和while兩者的不同之處在于它們背后的運作方式:

在while循環(huán)里,Perl會讀入一行輸入,把它存入某個變量并且執(zhí)行循環(huán)主體。然后,它再回頭去找其他的輸入行。

在foreach循環(huán)中,整行輸入操作符會在列表上下文中執(zhí)行(因為foreach需要逐行處理列表的內(nèi)容)。在循環(huán)開始執(zhí)行之前,它必須先將輸入全部讀進(jìn)來。

當(dāng)輸入大容量的文件時,使用foreach會占用大量的內(nèi)存。兩者的差異會十分明顯。因此,最好的做法,通常是盡量使用while循環(huán)的簡寫,讓它每次處理一行。PHP中for、foreach和while比較

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的mysqli 返回一条结果_php中mysqli 处理查询结果集总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲码欧美码一区二区三区 | 天天干夜夜艹 | 久久人人爽爽人人爽人人片av | 狠狠干超碰 | 全黄一级裸片视频 | 免费在线观看污 | 婷婷六月激情 | 免费污视频在线观看 | 国产特级av | 在线观看你懂的视频 | 精品播放 | 欧美黄色短视频 | 亚洲一区二区免费视频 | 无码久久精品国产亚洲av影片 | 91亚洲精华国产精华精华液 | 一级片小视频 | 亚洲女人天堂色在线7777 | 国产精品国语自产拍在线观看 | 亚欧美色图 | 国产成人欧美一区二区三区的 | 国产一二 | 日日操夜夜操天天操 | 亚洲最大黄网 | 夫妻自拍偷拍 | 欧美色图3p | 福利社区一区二区 | 性xxxx18| 综合热久久 | 丁香七月激情 | www.日本黄 | 友田真希一区二区 | 天天在线观看 | 理想之城连续剧40集免费播放 | 视频一区在线播放 | 日韩av三区 | 欧美成人手机在线视频 | 147人体做爰大胆图片成人 | 熟妇高潮喷沈阳45熟妇高潮喷 | 天天摸夜夜操 | aaa国产| 成人av中文字幕 | 久久99久久99精品免观看软件 | 久久精品视 | 日本a在线播放 | 日本a级在线 | 国产精品一区二区av白丝下载 | 国产美女免费网站 | 最新在线中文字幕 | 激情亚洲色图 | 国产初高中真实精品视频 | 激情戏网站 | 国产精品黄色av | 蜜桃av噜噜一区二区三区麻豆 | av影院在线| 午夜精品久久99蜜桃的功能介绍 | 日本www视频| 免费毛片一级 | 中文字幕在线不卡 | 国产做a| gogo人体做爰aaaa | 蜜桃视频在线观看网站 | 九九热九九热 | 污片网站 | 草在线视频| 欧美 国产 日本 | 操小妹影院| 影音先锋成人资源网 | 在线看黄免费 | 国产福利视频一区二区三区 | 日韩日日日| avtt男人天堂 | 激情欧美一区 | 好吊日在线 | 激情久 | 亚洲欧美在线观看视频 | 超碰av男人的天堂 | 久久久久久综合网 | 粗大挺进潘金莲身体在线播放 | c逼| 波多野结衣一区在线 | 亚洲区免费 | 色91| 色香色香欲天天天影视综合网 | 日本黄频 | 亚洲综合色自拍一区 | 亚洲福利影视 | av鲁丝一区鲁丝二区鲁丝 | 91大片免费看 | 美女隐私无遮挡网站 | 天天躁夜夜躁狠狠是什么心态 | 黄色一区二区三区四区 | 免费成人美女在线观看 | 国产视频在线看 | 福利电影一区二区三区 | 久久久视屏 | 免费观看视频在线观看 | 毛片av在线 | 毛片大全 | 亚欧美在线观看 |