我不是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
)
我做错了吗?我计划有很多行,有大量的数据并将其打印到表格中,然后我将如何进行排序呢?
答案 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"];
}