PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 1.PHP連接和選擇數(shù)據(jù)庫實(shí)現(xiàn)查詢_第1頁
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 1.PHP連接和選擇數(shù)據(jù)庫實(shí)現(xiàn)查詢_第2頁
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 1.PHP連接和選擇數(shù)據(jù)庫實(shí)現(xiàn)查詢_第3頁
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 1.PHP連接和選擇數(shù)據(jù)庫實(shí)現(xiàn)查詢_第4頁
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 1.PHP連接和選擇數(shù)據(jù)庫實(shí)現(xiàn)查詢_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

10.1PHP操作MySQL數(shù)據(jù)庫陳學(xué)平011PHP操作MySQL數(shù)據(jù)庫1PHP操作MySQL數(shù)據(jù)庫PHP中,支持對(duì)多種數(shù)據(jù)庫的操作,且提供了相關(guān)的數(shù)據(jù)庫連接函數(shù)或操作函數(shù)。1.1連接MySQL數(shù)據(jù)庫PHP中,要對(duì)數(shù)據(jù)庫進(jìn)行操作,首先需要連接數(shù)據(jù)庫。連接數(shù)據(jù)庫可使用mysqli_connect()函數(shù),其語法格式如下所示。resourcemysqli_connect([string$server[,string$username[,string$password[,bool$new_link[,int$client_flags]]]]])其中,參數(shù)server為要連接的數(shù)據(jù)庫服務(wù)器的名稱或IP;參數(shù)username為連接數(shù)據(jù)庫的用戶名,若沒有設(shè)置該參數(shù),則默認(rèn)為服務(wù)器進(jìn)程所有者的用戶名;參數(shù)password為連接數(shù)據(jù)庫的密碼,如果未設(shè)置該參數(shù),則默認(rèn)為空。1.1連接MySQL數(shù)據(jù)庫參數(shù)new_link則改變了此行為,若設(shè)置該參數(shù)為布爾值true,則將在每一次使用mysqli_connect函數(shù)進(jìn)行數(shù)據(jù)庫連接時(shí)打開新的數(shù)據(jù)庫連接,甚至在之前曾使用同樣的參數(shù)進(jìn)行過數(shù)據(jù)庫的連接。參數(shù)client_flags為設(shè)置客戶端信息,它可以是以下常用的組合。MYSQLI_CLIENT_COMPRESS:在客戶端使用壓縮的通訊協(xié)議。MYSQLI_CLIENT_IGNORE_SPACE:允許在函數(shù)名后留空格位。MYSQLI_CLIENT_INTERACTIVE:允許設(shè)置斷開連接之前所空閑等候的interactive_timeout時(shí)間。MYSQLI_CLIENT_SSL:使用SSL協(xié)議進(jìn)行加密。1.1連接MySQL數(shù)據(jù)庫該函數(shù)嘗試打開或重復(fù)使用一個(gè)已打開的MySQL數(shù)據(jù)庫服務(wù)器的連接。若成功連接,MySQL數(shù)據(jù)庫服務(wù)器,返回一個(gè)MySQL連接標(biāo)識(shí),否則返回布爾值false。實(shí)例10-1如何在PHP腳本中進(jìn)行MySQL數(shù)據(jù)庫服務(wù)器的連接。代碼如下所示。<?php$link=mysqli_connect("localhost","root","root");//連接至本地MySQL服務(wù)器,用戶名和密碼均為rootif($link){echo"連接服務(wù)器成功";}else{echo"連接服務(wù)器失敗";}?>1.1連接MySQL數(shù)據(jù)庫分析:在上述代碼中創(chuàng)建一個(gè)變量$link來獲取連接服務(wù)器的值,使用mysqli_connect函數(shù)連接本地MySQL數(shù)據(jù)庫服務(wù)器,連接數(shù)據(jù)庫的用戶名和密碼均為root,最后對(duì)這一個(gè)變量$link進(jìn)行判斷,如果有值,則提示連接服務(wù)器成功,否則提示連接服務(wù)器失敗。注意:若數(shù)據(jù)庫服務(wù)器不可用,或連接數(shù)據(jù)庫的用戶名或密碼錯(cuò)誤,則可能會(huì)引起一條PHP警告信息,如下所示。Warning:mysqli_connect()[function.mysql-connect]:Accessdeniedforuser'root'@'localhost'(using1.1連接MySQL數(shù)據(jù)庫password:YES)inD:\xampplite\htdocs\book\source\18\10.1.phponline2為此通常在進(jìn)行數(shù)據(jù)庫連接時(shí),在連接函數(shù)前使用“@”符號(hào)抑制錯(cuò)誤信息的輸出,然后在連接函數(shù)后使用DIE函數(shù)指定錯(cuò)誤信息并停止腳本的執(zhí)行。實(shí)例10-2在PHP腳本中如何安全地連接MySQL數(shù)據(jù)庫服務(wù)器。代碼如下所示。<?php$link=@mysqli_connect("localhost","root","root")ordie("服務(wù)器連接失敗!");//連接本地?cái)?shù)據(jù)庫服務(wù)器1.1連接MySQL數(shù)據(jù)庫if($link){echo"連接服務(wù)器成功";}?>測(cè)試輸出下面的信息連接服務(wù)器成功分析:在上述程序中,使用“@”符號(hào)抑制連接數(shù)據(jù)庫服務(wù)器的錯(cuò)誤信息的輸出,并使用die()函數(shù)拋出定制的錯(cuò)誤信息,終止整個(gè)腳本的執(zhí)行,在代碼中定義一個(gè)變量$link來接收獲取到的服務(wù)器的值,并進(jìn)行判斷。1.1連接MySQL數(shù)據(jù)庫注意:包含創(chuàng)建數(shù)據(jù)庫連接的腳本一結(jié)束,與服務(wù)器的連接就被關(guān)閉,除非之前已經(jīng)明確調(diào)用mysqli_close()函數(shù)關(guān)閉了數(shù)據(jù)庫連接。在實(shí)際的應(yīng)用中,可將數(shù)據(jù)庫連接放在一個(gè)單獨(dú)的文件中,在需要使用數(shù)據(jù)庫連接的腳本中使用include()函數(shù)或require()函數(shù)引用該文件。1.2斷開與MySQL的連接1通常在完成數(shù)據(jù)庫的使用后,需要斷開與MySQL數(shù)據(jù)庫服務(wù)器的連接。斷開與MySQL2數(shù)據(jù)庫服務(wù)器的連接通常使用函數(shù)mysqli_close()函數(shù),其語法格式如下所示。3boolmysqli_close([resource$link_identifier])4其中,參數(shù)link_identifier為數(shù)據(jù)庫連接標(biāo)識(shí)。若沒有該參數(shù),則關(guān)閉上一個(gè)已打開的非持久數(shù)據(jù)庫連接。函數(shù)關(guān)閉指定的連接標(biāo)識(shí)所關(guān)聯(lián)的非持久數(shù)據(jù)庫連接。1.2斷開與MySQL的連接注意:mysqli_close()函數(shù)不會(huì)關(guān)閉由mysql_Pconnect()函數(shù)所建立的持久連接。實(shí)例10-3在PHP腳本中關(guān)閉一個(gè)由mysqli_connect()函數(shù)所建立的數(shù)據(jù)庫連接。代碼如下所示。<?php$link=@mysqli_connect("localhost","root","root")ordie("服務(wù)器連接失?。?);//連接數(shù)據(jù)庫服務(wù)器if($link){echo"連接服務(wù)器成功";}mysqli_close($link);//關(guān)閉數(shù)據(jù)服務(wù)器連接?>1.2斷開與MySQL的連接分析:在上述代碼中,定義一個(gè)變量$link來接收獲取到的服務(wù)器的值,并進(jìn)行判斷。使用mysqli_close()函數(shù)關(guān)閉一個(gè)已創(chuàng)建的非持久數(shù)據(jù)連接,注意在這個(gè)關(guān)閉函數(shù)中加入定義的變量$link。1.3選擇和使用MySQL數(shù)據(jù)庫實(shí)例10-4在PHP腳本中如何選擇MySQL數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫。代碼如下所示。<?php$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失敗!");$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");if($conn){echo"數(shù)據(jù)庫連接成功";}mysqli_close($link);?>1.3選擇和使用MySQL數(shù)據(jù)庫測(cè)試輸出信息。數(shù)據(jù)庫連接成功分析:在上述程序中,使用當(dāng)前數(shù)據(jù)庫連接選擇mydb數(shù)據(jù)庫作為當(dāng)前活動(dòng)數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫的所有操作都將作用于該活動(dòng)數(shù)據(jù)庫。讀者可以看出,這時(shí)選擇數(shù)據(jù)作為當(dāng)前活動(dòng)數(shù)據(jù)庫,其實(shí)就相當(dāng)于在MySQL命令行所使用的use命令。1.4執(zhí)行MySQL指令實(shí)例10-5在PHP腳本中如何執(zhí)行SQL語句。代碼如下所示。<?php$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失敗!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie('選擇的數(shù)據(jù)庫不存在或不可用!');//選擇數(shù)據(jù)庫//先判斷數(shù)據(jù)庫是否連接成功,該判斷語句在調(diào)試程序中可使用,調(diào)試成功后,可不用該判斷if($conn){echo"數(shù)據(jù)庫連接成功";1.4執(zhí)行MySQL指令}//執(zhí)行SQL語句$myquery=mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句//判斷SQL語句是否執(zhí)行if($myquery){echo"SQL語句執(zhí)行成功";}mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>1.4執(zhí)行MySQL指令輸出信息數(shù)據(jù)庫連接成功SQL語句執(zhí)行成功分析:在上述程序中,進(jìn)行了一次完整的數(shù)據(jù)連接操作。首先連接數(shù)據(jù)庫服務(wù)器,然后選擇數(shù)據(jù)庫,執(zhí)行SQL語句,最后關(guān)閉數(shù)據(jù)庫連接。使用了mysqli_query()函數(shù)執(zhí)行SQL語句。除了mysqli_query()函數(shù)能夠執(zhí)行SQL語句外,PHP還提供了另一函數(shù)mysqli_db_query()。該函數(shù)與mysqli_query()函數(shù)具有相同的功能,其區(qū)別在于mysqli_db_query()函數(shù)在執(zhí)行SQL語句時(shí)可以同時(shí)選擇數(shù)據(jù)庫。其語法格式如下所示。1.4執(zhí)行MySQL指令輸出信息resourcemysqli_db_query(string$database,string$query[,resource$link_identifier])其中,參數(shù)database為要執(zhí)行SQL語句的數(shù)據(jù)庫,參數(shù)query為要執(zhí)行的SQL語句,參link_indentifier為數(shù)據(jù)庫連接標(biāo)識(shí)符。若沒有設(shè)置該參數(shù),函數(shù)將打開上一個(gè)已創(chuàng)建的數(shù)據(jù)庫連接;若找不到已打開的數(shù)據(jù)庫連接,則嘗試以無參數(shù)方式調(diào)用mysqli_connect()函數(shù)創(chuàng)建一個(gè)數(shù)據(jù)庫連接。函數(shù)在執(zhí)行成功時(shí)根據(jù)查詢結(jié)果返回一個(gè)MySQL結(jié)果資源號(hào),出錯(cuò)時(shí)將返回false。函數(shù)會(huì)對(duì)INSERT、UPDATE和DELETE語句返回true或false來指示執(zhí)行成功或失敗。1.4執(zhí)行MySQL指令輸出信息注意:在使用該函數(shù)后,不會(huì)自動(dòng)切換回先前使用mysqli_select_db()函數(shù)連接的數(shù)據(jù)庫。若想再次使用先前連接的數(shù)據(jù)庫,需要再次手動(dòng)指定,因此建議在查詢時(shí)使用database.table的格式來替換該函數(shù)。實(shí)例10-6如何在PHP腳本中獲取結(jié)果集中的記錄數(shù)實(shí)例10-6如何在PHP腳本中獲取結(jié)果集中的記錄數(shù)。代碼如下所示。<?php$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失?。?);//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句echo"結(jié)果集中的行數(shù)為:".mysqli_num_rows($myquery);//獲取結(jié)果集的記錄數(shù)mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>實(shí)例10-6如何在PHP腳本中獲取結(jié)果集中的記錄數(shù)結(jié)果集中的行數(shù)為:5分析:在上述程序中,使用mysqli_num_rows函數(shù)獲取結(jié)果集中的記錄數(shù)。若在mysqli_query()函數(shù)中使用INSERT、UPDATE和DELETE語句,應(yīng)使用mysqli_affected_rows()函數(shù)獲取所影響到的記錄數(shù),其語法格式如下所示。intmysqli_affected_rows([resource$link_identifier])其中,參數(shù)link_indentifier為已打開的數(shù)據(jù)庫連接標(biāo)識(shí)符。若未設(shè)置該參數(shù),函數(shù)默認(rèn)使用上一次所打開的數(shù)據(jù)庫連接;若未找到該連接,函數(shù)將嘗試以無參數(shù)方式調(diào)用mysqli_connect()函數(shù)建立數(shù)據(jù)庫連接并使用;若發(fā)生意外,如找不到數(shù)據(jù)庫連接或創(chuàng)建數(shù)據(jù)庫連接失敗時(shí),將產(chǎn)生一條警告信息。實(shí)例10-6如何在PHP腳本中獲取結(jié)果集中的記錄數(shù)函數(shù)返回由參數(shù)link_indentifier所關(guān)聯(lián)的數(shù)據(jù)庫連接進(jìn)行的INSERT、UPDATE和DELETE查詢所影響到的行數(shù)。函數(shù)執(zhí)行成功則返回最近一次操作所影響的行數(shù),若最近一次查詢失敗,則返回-1。在使用UPDATE語句時(shí),MySQL不會(huì)將原值與新值一樣的列進(jìn)行更新,因此該函數(shù)所返回的值不一定就是使用mysqli_query()函數(shù)所影響到的行數(shù),此時(shí)只是返回真正被更新的行數(shù)。實(shí)例10-7在PHP腳本中獲取第X行第X列記錄實(shí)例10-7在PHP腳本中獲取第X行第X列記錄。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失??!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesgb2312");//設(shè)置輸出編碼$result=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句//判斷結(jié)果集是否有效實(shí)例10-7在PHP腳本中獲取第X行第X列記錄if(!$result||!is_object($result)){echo"沒有結(jié)果!";exit;}//設(shè)置結(jié)果集的內(nèi)部指針到第二行,如果要查詢第三行,則將1改為2,要查詢第4行,則將1改為3.mysqli_data_seek($result,1);//從當(dāng)前行提取數(shù)據(jù)$rowData=mysqli_fetch_array($result);echo$rowData[3];//輸出第四列的值,如果改為2,則是第3列的值。//關(guān)閉連接mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>重慶1圖10-1查詢表中的數(shù)據(jù)經(jīng)測(cè)試,顯示結(jié)果與表中的數(shù)據(jù)是對(duì)應(yīng)的。分析:在上述程序中,mysqli_data_seek()函數(shù)將光標(biāo)移動(dòng)到所需的行號(hào),獲取結(jié)果集中第X行的數(shù)據(jù)信息。測(cè)試輸出信息如圖10-1所示。實(shí)例10-8用mysqli_result獲取結(jié)果集中的所有數(shù)據(jù)注意:因MySQL服務(wù)器中存儲(chǔ)數(shù)據(jù)的編碼與瀏覽器顯示結(jié)果的編碼有可能不一致所以在程序中,使用了setnamesgb2312直接指定其內(nèi)容輸出的編碼。若未指定輸出字符編碼,則可能出現(xiàn)亂碼。以上實(shí)現(xiàn)了獲取結(jié)果集中的某一行數(shù)據(jù)。其實(shí)通過mysqli_fetch_all()函數(shù)可以輸出結(jié)果集中的所有數(shù)據(jù)。實(shí)例10-8用mysqli_result獲取結(jié)果集中的所有數(shù)據(jù)使用mysqli_fetch_all()函數(shù)可以從mysqli_result對(duì)象中獲取結(jié)果集中的所有數(shù)據(jù)。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失??!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesgb2312");//設(shè)置輸出編碼$result=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句實(shí)例10-8用mysqli_result獲取結(jié)果集中的所有數(shù)據(jù)//$query="SELECT*FROMtable";//SQL查詢語句//$result=mysqli_query($conn,$query);//執(zhí)行SQL查詢并返回結(jié)果集if($result){$data=mysqli_fetch_all($result,MYSQLI_ASSOC);//將結(jié)果集轉(zhuǎn)換為關(guān)聯(lián)數(shù)組形式foreach($dataas$row){echoimplode(",",$row)."\n".'</br>';//輸出每一行數(shù)據(jù)實(shí)例10-8用mysqli_result獲取結(jié)果集中的所有數(shù)據(jù)}}else{echo"沒有數(shù)據(jù).";}分析:在上述程序中,implode函數(shù)返回一個(gè)由數(shù)組元素組合成的字符串。foreach($dataas$row)//foreach語法是專門針對(duì)PHP數(shù)組進(jìn)行循環(huán)遍歷的語法結(jié)構(gòu)。//循環(huán)數(shù)組$data,將每個(gè)值賦給$row變量,并且數(shù)組指針會(huì)逐一地移動(dòng),直到到達(dá)最后一個(gè)數(shù)組元素。實(shí)例10-8用mysqli_result獲取結(jié)果集中的所有數(shù)據(jù)實(shí)例10-9采用mysql_fetch_row函數(shù)獲取結(jié)果集中的所有數(shù)據(jù)通過對(duì)結(jié)果集進(jìn)行循環(huán),輸出結(jié)果集中的所有數(shù)據(jù)信息。其輸出結(jié)果如圖10-2所示。圖10-2顯示結(jié)果實(shí)例10-9采用mysql_fetch_row函數(shù)獲取結(jié)果集中的所有數(shù)據(jù)。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失??!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼實(shí)例10-9采用mysql_fetch_row函數(shù)獲取結(jié)果集中的所有數(shù)據(jù)$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句echo"<tableborder=\"1\"><tr><th>id</th><th>姓名</th><th>性別</th><th>地址</th><th>郵件</th></tr>";while($row=mysqli_fetch_row($myquery)){//循環(huán)獲取結(jié)果集中的每一行echo"<tr><td>".$row[0]."</td>";echo"<td>".$row[1]."</td>";echo"<td>".$row[2]."</td>";echo"<td>".$row[3]."</td>";echo"<td>".$row[4]."</td></tr>";}echo"</table>";mysqli_close($link); //關(guān)閉數(shù)據(jù)庫連接?>實(shí)例10-9采用mysql_fetch_row函數(shù)獲取結(jié)果集中的所有數(shù)據(jù)圖10-3測(cè)試結(jié)果分析:在上述程序中,使用mysqli_fetch_row()函數(shù)循環(huán)獲取結(jié)果集中的每一行。讀者可發(fā)現(xiàn),其執(zhí)行的結(jié)果與前例結(jié)果完全相同。【實(shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)。代碼如下所示?!緦?shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失?。?);//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼【實(shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句echo"<tableborder=\"1\"><tr><th>id</th><th>姓名</th><th>性別</th><th>地址</th><th>郵件</th></tr>";while($row=mysqli_fetch_array($myquery,MYSQLI_ASSOC)){//循環(huán)獲取結(jié)果集中的數(shù)據(jù)echo"<tr><td>".$row["userid"]."</td>";【實(shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)echo"<td>".$row["username"]."</td>";echo"<td>".$row["sex"]."</td>";echo"<td>".$row["address"]."</td>";echo"<td>".$row["email"]."</td></tr>";}echo"</table>";mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>【實(shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)分析:在上述程序中,使用mysql_fetch_array()函數(shù)循環(huán)獲取結(jié)果集。讀者可以發(fā)現(xiàn),程序輸出結(jié)果與前例結(jié)果完全一樣。因該函數(shù)具有很強(qiáng)的靈活性,在實(shí)際應(yīng)用中通常使用該函數(shù)。當(dāng)結(jié)果集很大時(shí),使用上述的方式會(huì)使頁面很長,不美觀,并且用戶查詢信息也很麻煩,因此需要對(duì)結(jié)果集進(jìn)行分頁顯示?!緦?shí)例10-10】在PHP中使用arraymysqli_fetch_array函數(shù)獲取結(jié)果集中的數(shù)據(jù)【實(shí)例10-11】分頁顯示結(jié)果集中的數(shù)據(jù)【實(shí)例10-11】分頁顯示結(jié)果集中的數(shù)據(jù)。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失??!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句$page_size=3;//每頁顯示記錄數(shù)【實(shí)例10-11】分頁顯示結(jié)果集中的數(shù)據(jù)$num_cnt=mysqli_num_rows($myquery);//獲取記錄總數(shù)$page_cnt=ceil($num_cnt/$page_size);//計(jì)算總頁數(shù)if(isset($_GET['p'])){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論