zoukankan      html  css  js  c++  java
  • mysql_fetch_row()与mysql_fetch_array()的使用介绍

    mysql_fetch_array --从结果集中取得一行作为关联数组,或数字数组,或二者兼有

    说明array mysql_fetch_array ( resource result [, int result_type])

    返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
    mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

    如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容(本例中的 'field')。
    例子 1. 相同字段名的查询

     代码如下:

    select table1.field as foo, table2.field as bar from table1, table2


    有一点很重要必须指出,用 mysql_fetch_array() 并不明显 比用 mysql_fetch_row() 慢,而且还提供了明显更多的值。

    mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。

    如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc()那样),用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row()那样)。

    注: 该函数返回的字段名是大小写敏感的。

    例子 2. mysql_fetch_array 使用 MYSQL_NUM

     代码如下:

    <?php
       mysql_connect("localhost", "mysql_user", "mysql_password") or
           die("Could not connect: " . mysql_error());
       mysql_select_db("mydb");

       $result = mysql_query("SELECT id, name FROM mytable");

       while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
           printf ("ID: %s  Name: %s", $row[0], $row[1]);
       }

       mysql_free_result($result);
    ?> 


    例子 3. mysql_fetch_array 使用 MYSQL_ASSOC

     代码如下:

    <?php
       mysql_connect("localhost", "mysql_user", "mysql_password") or
           die("Could not connect: " . mysql_error());
       mysql_select_db("mydb");

       $result = mysql_query("SELECT id, name FROM mytable");

       while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
           printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
       }
       mysql_free_result($result);
    ?>


    例子 4. mysql_fetch_array 使用 MYSQL_BOTH

    代码如下:

    <?php
       mysql_connect("localhost", "mysql_user", "mysql_password") or
           die("Could not connect: " . mysql_error());
       mysql_select_db("mydb");

       $result = mysql_query("SELECT id, name FROM mytable");

       while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
           printf ("ID: %s  Name: %s", $row[0], $row["name"]);
       }
       mysql_free_result($result);
    ?>


    参见 mysql_fetch_row() 和 mysql_fetch_assoc
    mysql_fetch_row -- 从结果集中取得一行作为枚举数组

    说明
    array mysql_fetch_row ( resource result)
    返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE。
    mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
    依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。

  • 相关阅读:
    模拟登陆江西理工大学教务系统
    python3爬虫 -----华东交大校园新闻爬取与数据分析
    以selenium模拟登陆12306
    PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)
    PAT (Basic Level) Practice (中文)1047 编程团体赛 (20 分)
    PAT (Basic Level) Practice (中文)1029 旧键盘 (20 分)
    PAT (Basic Level) Practice (中文)1016 部分A+B (15 分)
    PAT (Basic Level) Practice (中文)1031 查验身份证 (15 分)
    PAT (Basic Level) Practice (中文)1041 考试座位号 (15 分)
    PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)
  • 原文地址:https://www.cnblogs.com/love1226/p/4443126.html
Copyright © 2011-2022 走看看