使用mysql_fetch_array()取得數組結果集中的資訊(PHP操作MySQL資料庫的方法四)

黄舟
發布: 2019-02-25 16:28:55
原創
7562 人瀏覽過

PHP操作MySQL資料庫的方法-使用mysql_fetch_array()函數取得陣列結果集中的資訊

mysql_fetch_array() 函數從結果集中取得一行作為關聯數組,或數字數組,或二者兼有返回根據從結果集取得的行生成的數組,如果沒有更多行則返回false。

在上一篇文章《使用mysql_query()函數執行SQL語句(PHP操作MySQL資料庫的方法三)》中介紹了mysql_query()函數執行SQL 語句,接下來使用mysql_fetch_array() 函數從結果集中取得資訊。

相關mysql影片教學推薦:《mysql教學

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[&#39;Submit&#39;]=="查询"){                    // 判断按钮的值是否为查询
    $txt_book = $_POST[&#39;txt_book&#39;];              //获取文本框提交的值
    $sql = mysql_query("select * from tb_book where bookname like &#39;%".trim($txt_book)."%&#39;");  //执行模糊查询
    $info = mysql_fetch_array($sql);             // 获取查询结果
     
}
?>
登入後複製

注意:

上面的實例在視線模糊查詢的時候,使用了通配符「%」。 “%”表示零個或任意多個字元!

4.使用if條件語句對結果集變數$info進行判斷,如果該值為假,那麼就使用echo 語句輸出檢索的資訊不存在,具體程式碼如下:

<?php
if($info = false){  //如果检索的信息不存在,则输出相对的提示信息
    echo "<p align=&#39;center&#39; style=&#39;color: #FF0000;font-size: 12px&#39;>对不起,你要查询的信息不存在</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()取得數組結果集中的資訊(PHP操作MySQL資料庫的方法四)

關於mysql_fetch_array()函數的使用我們就介紹到這裡,下一節,我們將介紹在陣列結果中取得一行作為對象,具體請閱讀《使用mysql_fetch_object()函數取得結果集中一行作為對象(PHP操作MySQL資料庫的方法五)》!

以上是使用mysql_fetch_array()取得數組結果集中的資訊(PHP操作MySQL資料庫的方法四)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板