PHP操作MySQL數(shù)據(jù)庫的方法-使用mysql_fetch_array()函數(shù)獲取數(shù)組結(jié)果集中的信息
mysql_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,或二者兼有返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 false。
在上一篇文章《使用mysql_query()函數(shù)執(zhí)行SQL語句(PHP操作MySQL數(shù)據(jù)庫的方法三)》中介紹了 mysql_query()函數(shù)執(zhí)行 SQL 語句,接下來使用mysql_fetch_array() 函數(shù)從結(jié)果集中獲取信息。
相關(guān)mysql視頻教程推薦:《mysql教程》
立即學(xué)習(xí)“PHP免費學(xué)習(xí)筆記(深入)”;
mysql_fetch_array() 函數(shù)的語法結(jié)構(gòu)如下:
array mysql_fetch_array(resource result[,int result_type])
result:資源類型的參數(shù),要傳入的是由 mysql_query()函數(shù)返回的數(shù)據(jù)指針。
result_type:可選項,整數(shù)型參數(shù),要傳入的是 MYSQL_ASSOC(關(guān)聯(lián)索引),MYSQL_NUM(數(shù)字索引),MYSQL_BOTH(同時包含關(guān)聯(lián)和數(shù)字索引的數(shù)組)3種索引類型,默認值為 MYSQL_BOTH。
注意:
mysql_fetch_array() 函數(shù)返回的字段名區(qū)分大小寫,這是初學(xué)者 最容易忽略的問題
下面實例實現(xiàn)一個檢索的功能,首先應(yīng)用mysql_query()函數(shù)執(zhí)行 SQL 語句,查詢信息,然后使用 mysql_fetch_array()函數(shù)獲取查詢結(jié)果,最后使用 echo 數(shù)據(jù)輸出數(shù)組結(jié)果集。
具體開發(fā)步驟如下:
1.創(chuàng)建一個PHP動態(tài)頁面,命名index.php,在index.php中添加一個表單,一個文本框以及一個提交按鈕,具體代碼如下:
<html> <body> <!--上傳文件表單--> <form method="post" action="" name = form1> <table> <tr> <td width="605" height="51" bgcolor="#CC99FF"> <p align="center">請輸入查詢內(nèi)容 <input type="text" name="txt_book" id="txt_book" size="25"> <input type="submit" name="Submit" value="查詢"> </p> </td> </tr> </table> </form> </body> </html>
2.連接到MySQL數(shù)據(jù)庫服務(wù)器,選擇數(shù)據(jù)庫 php_cn,設(shè)置數(shù)據(jù)庫的編碼格式為GB2312。具體代碼如下:
<?php header("Content-Type:text/html; charset=utf-8"); $link = mysql_connect("localhost","root","root")or die("連接數(shù)據(jù)庫失敗".mysql_error()); mysql_select_db("php_cn",$link); mysql_query("set names gb2312"); //設(shè)置編碼,防止發(fā)生亂發(fā) ?>
3.使用 if 條件語句判斷用戶是否單擊“查詢”按鈕,如果是那么使用POST 方法接受傳遞過來的信息,使用 mysql_query()函數(shù)執(zhí)行SQL語句,該查詢語句主要用來實現(xiàn)信息的模糊查詢,查詢結(jié)果被賦予變量$sql。然后使用 mysql_fetch_array()函數(shù)從數(shù)組結(jié)果集中獲取信息,具體代碼如下:
<?php $sql = mysql_query("select from tb_book"); //執(zhí)行查詢語句 $info = mysql_fetch_array($sql); //獲取查詢結(jié)果,返回值為數(shù)組 if($_POST['Submit']=="查詢"){ // 判斷按鈕的值是否為查詢 $txt_book = $_POST['txt_book']; //獲取文本框提交的值 $sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //執(zhí)行模糊查詢 $info = mysql_fetch_array($sql); // 獲取查詢結(jié)果 } ?>
注意:
上面的實例在視線模糊查詢的時候,使用了通配符 “%”。“%”表示零個或者任意多個字符!
4.使用 if條件語句對結(jié)果集變量$info進行判斷,如果該值為假,那么就使用 echo 語句輸出檢索的信息不存在,具體代碼如下:
<?php if($info = false){ //如果檢索的信息不存在,則輸出相對的提示信息 echo "<p align='center' style='color: #FF0000;font-size: 12px'>對不起,你要查詢的信息不存在</p>"; } ?>
5.使用 do...while 循環(huán)語句以表格形式輸出數(shù)組結(jié)果集$info[]中的信息,一字段的名稱為索引,使用 echo 語句輸出數(shù)組$info[]的信息,具體代碼如下:
<?php do { //do...while 循環(huán) ?> <table> <tr align="left" bgcolor="#FFFFFF"> <td height="20" align="center"><?php echo $info["id"] ?></td> <td height="20" align="center"><?php echo $info["bookname"] ?></td> <td height="20" align="center"><?php echo $info["data"] ?></td> <td height="20" align="center"><?php echo $info["price"] ?></td> <td height="20" align="center"><?php echo $info["maker"] ?></td> <td height="20" align="center"><?php echo $info["publisher"] ?></td> </tr> </table> <?php }while($info = mysql_fetch_array($sql)); ?>
輸出結(jié)果如下:
關(guān)于mysql_fetch_array()函數(shù)的使用我們就介紹到這里,下一節(jié),我們將介紹在數(shù)組結(jié)果中獲取一行作為對象,具體請閱讀《使用mysql_fetch_object()函數(shù)獲取結(jié)果集中一行作為對象(PHP操作MySQL數(shù)據(jù)庫的方法五)》!
以上就是使用mysql_fetch_array()獲取數(shù)組結(jié)果集中的信息(PHP操作MySQL數(shù)據(jù)庫的方法四)的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號