代码之家  ›  专栏  ›  技术社区  ›  esqew

mysql_fetch_数组返回所有内容中的两个

  •  1
  • esqew  · 技术社区  · 14 年前

    我对php并不陌生,但我用mysql的次数不多,所以我会问你们关于这个的问题。

    我有一个数据库,其中有一行数据,由一个日期和两个整数组成。但是,当我用这个查询数据库时:

    $query = "SELECT * FROM history";
    $theQuery = mysql_query($query, $connect);
    $array = mysql_fetch_array($theQuery);
    

    …我做了一个 print_r ,我得到以下信息:

    Array
    (
        [0] => 2010-08-17
        [date] => 2010-08-17
        [1] => 17454
        [posts] => 17454
        [2] => 1058
        [members] => 1058
    )
    

    我做错什么了吗?我计划有许多行,其中包含大量数据,并将其打印到一个表中,那么如何对其进行排序呢?

    3 回复  |  直到 14 年前
        1
  •  1
  •   strager    14 年前

    第一:你做得很好

    你可以使用 mysql_fetch_assoc mysql_fetch_array(resource $result, MYSQL_ASSOC) .

    默认值是返回 MYSQL_BOTH (关联数组+数字数组)。

    有关详细信息,请参阅 mysql_fetch_array .

        2
  •  0
  •   strager    14 年前

    mysql_fetch_数组的第二个参数是可选的,但默认值是mysql_both,并将为索引和键提供值。你可以用mysql-assoc代替。

    关于mysql_fetch_数组的php手册:

    返回与提取的行对应的字符串数组,如果没有更多的行,则返回false。返回数组的类型取决于如何定义结果类型。通过使用mysql-both(默认),您将得到一个同时具有关联索引和数字索引的数组。使用mysql_assoc,只获取关联索引(mysql_fetch_assoc()的工作方式),使用mysql_num,只获取数字索引(mysql_fetch_row()的工作方式)。

        3
  •  -1
  •   user229044 Luis Rodriguez    14 年前

    使用mysql_fetch_数组,可以在循环中运行它,

    前任:

    while($array = mysql_fetch_array($theQuery))
    {
      echo $array["date"];
      echo $array["posts"];
      echo $array["members"];
    
    }