我正在使用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 )
。
答案 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'];
}