mysql_query - > mysql_fetch_array只返回最后一个输入行

时间:2015-03-23 10:09:04

标签: php mysql

我正在使用mysql_query和mysql_fetch_array来返回要在foreach循环中使用的值数组。

由于某些原因,当我print_r返回的数组时,查询只返回最后输入的行。

我在做的是:

$query = mysql_query("SELECT * from table_name;");
$returned_array = mysql_fetch_array($query);
print_r($returned_array)

比如说表中有4个值(a,b,c,d),只有最后一个会返回给我,所以我看到的是:Array ( [0] => d )

3 个答案:

答案 0 :(得分:1)

你必须使用while循环。 fetch_array只返回一行。

$query = mysql_query("SELECT * from table_name;");
while( $returned_array = mysql_fetch_array($query)){
print_r($returned_array); }

顺便说一下使用 mysqli。正如ÁlvaroG。Vicario告诉使用ORDER BY条款。

典型的mysqli示例:

$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = mysqli_query($link,"SELECT * from table_name;");
while( $returned_array = mysqli_fetch_array($query)){
print_r($returned_array); }

答案 1 :(得分:0)

如果你想获取所有记录

$query = mysql_query("SELECT * from table_name");
while($returned_array = mysql_fetch_array($query)){
/*.......*/
}

答案 2 :(得分:0)

或者您可以使用mysql_fetch_assoc()函数将结果行作为关联数组获取。

$query = mysql_query("SELECT * from table_name");
while($returned_array = mysql_fetch_assoc($query)){
     //use your data for each row here like this: echo $returned_array['ID'];
}