Rumah  >  Artikel  >  pangkalan data  >  使用mysql_fetch_array()获取数组结果集中的信息(PHP操作MySQL数据库的方法四)

使用mysql_fetch_array()获取数组结果集中的信息(PHP操作MySQL数据库的方法四)

黄舟
黄舟asal
2017-04-20 13:48:067575semak imbas

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));
?>

输出结果如下:

37.png

关于mysql_fetch_array()函数的使用我们就介绍到这里,下一节,我们将介绍在数组结果中获取一行作为对象,具体请阅读《使用mysql_fetch_object()函数获取结果集中一行作为对象(PHP操作MySQL数据库的方法五)》!

Atas ialah kandungan terperinci 使用mysql_fetch_array()获取数组结果集中的信息(PHP操作MySQL数据库的方法四). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn