使用mysql_fetch_array()取得數組結果集中的信息(PHP設置MySQL數據庫的方法4)
發表時間:2023-08-31 來源:明輝站整理相關軟件相關文章人氣:
[摘要]PHP操作MySQL數據庫的方法-使用mysql_fetch_array()函數獲取數組結果集中的信息mysql_fetch_array() 函數從結果集中取得一行作為關聯數組,或數字數組,或二者兼有返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 false。在上一篇文章《使用mysql...
PHP操作MySQL數據庫的方法-使用mysql_fetch_array()函數獲取數組結果集中的信息mysql_fetch_array() 函數從結果集中取得一行作為關聯數組,或數字數組,或二者兼有返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 false。
在上一篇文章《使用mysql_query()函數執行SQL語句(PHP操作MySQL數據庫的方法三)》中介紹了 mysql_query()函數執行 SQL 語句,接下來使用mysql_fetch_array() 函數從結果集中獲取信息。
mysql_fetch_array() 函數的語法結構如下:
array mysql_fetch_array(resource result[,int result_type])
result:資源類型的參數,要傳入的是由 mysql_query()函數返回的數據指針。
result_type:可選項,整數型參數,要傳入的是 MYSQL_ASSOC(關聯索引),MYSQL_NUM(數字索引),MYSQL_BOTH(同時包含關聯和數字索引的數組)3種索引類型,默認值為 MYSQL_BOTH。
注意:
mysql_fetch_array() 函數返回的字段名區分大小寫,這是初學者 最容易忽略的問題
下面實例實現一個檢索的功能,首先應用mysql_query()函數執行 SQL 語句,查詢信息,然后使用 mysql_fetch_array()函數獲取查詢結果,最后使用 echo 數據輸出數組結果集。
具體開發步驟如下:
1.創建一個PHP動態頁面,命名index.php,在index.php中添加一個表單,一個文本框以及一個提交按鈕,具體代碼如下:
<html>
<body>
<!--上傳文件表單-->
<form method="post" action="" name = form1>
<table>
<tr>
<td width="605" height="51" bgcolor="#CC99FF">
<p align="center">請輸入查詢內容
<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數據庫服務器,選擇數據庫 php_cn,設置數據庫的編碼格式為GB2312。具體代碼如下:
<?php
header("Content-Type:text/html; charset=utf-8");
$link = mysql_connect("localhost","root","root")or die("連接數據庫失敗".mysql_error());
mysql_select_db("php_cn",$link);
mysql_query("set names gb2312"); //設置編碼,防止發生亂發
?>
3.使用 if 條件語句判斷用戶是否單擊“查詢”按鈕,如果是那么使用POST 方法接受傳遞過來的信息,使用 mysql_query()函數執行SQL語句,該查詢語句主要用來實現信息的模糊查詢,查詢結果被賦予變量$sql。然后使用 mysql_fetch_array()函數從數組結果集中獲取信息,具體代碼如下:
<?php
$sql = mysql_query("select from tb_book"); //執行查詢語句
$info = mysql_fetch_array($sql); //獲取查詢結果,返回值為數組
if($_POST['Submit']=="查詢"){ // 判斷按鈕的值是否為查詢
$txt_book = $_POST['txt_book']; //獲取文本框提交的值
$sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //執行模糊查詢
$info = mysql_fetch_array($sql); // 獲取查詢結果
}
?>
注意:
上面的實例在視線模糊查詢的時候,使用了通配符 “%”。“%”表示零個或者任意多個字符!
4.使用 if條件語句對結果集變量$info進行判斷,如果該值為假,那么就使用 echo 語句輸出檢索的信息不存在,具體代碼如下:
<?php
if($info = false){ //如果檢索的信息不存在,則輸出相對的提示信息
echo "<p align='center' style='color: #FF0000;font-size: 12px'>對不起,你要查詢的信息不存在</p>";
}
?>
5.使用 do...while 循環語句以表格形式輸出數組結果集$info[]中的信息,一字段的名稱為索引,使用 echo 語句輸出數組$info[]的信息,具體代碼如下:
<?php
do { //do...while 循環
?>
<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));
?>
輸出結果如下:

關于mysql_fetch_array()函數的使用我們就介紹到這里,下一節,我們將介紹在數組結果中獲取一行作為對象,具體請閱讀《使用mysql_fetch_object()函數獲取結果集中一行作為對象(PHP操作MySQL數據庫的方法五)》!
以上就是使用mysql_fetch_array()獲取數組結果集中的信息(PHP操作MySQL數據庫的方法四)的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。