mysql_fetch_array返回两个东西

时间:2010-08-18 05:36:11

标签: php mysql

我不是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 个答案:

答案 0 :(得分:1)

第一:你做的一切都是正确的

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

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

有关详细信息,请参阅mysql_fetch_array

答案 1 :(得分:0)

mysql_fetch_array的第二个参数是可选的,但默认是MYSQL_BOTH,它将为索引和键提供值。您可以改用MYSQL_ASSOC。

mysql_fetch_array上的PHP手册:

  

返回与获取的行对应的字符串数组,如果没有其他行,则返回FALSE。返回数组的类型取决于result_type的定义方式。通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组。使用MYSQL_ASSOC,你只获得关联索引(如mysql_fetch_assoc()工作),使用MYSQL_NUM,你只获得数字索引(因为mysql_fetch_row()工作)。

答案 2 :(得分:-1)

使用mysql_fetch_array,您可以在循环中运行它,

例如:

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

}