我想要从下一个表date
中获取所有行时遇到问题。
id name username app sdate edate
=== ======= ======== === ===== ======
1 tanvir tanvir 1 2012 2012
2 Ranvir Ranvir 1 2011 2013
3 john john 2 2011 2012
4 Rakib Rakib 1 2011 2012
我使用以下MySQL查询:
$date = mysql_query("select * from `date`");
$date_row = mysql_fetch_array($date);
但它只返回一行。
如何将所有行放入二维数组?
答案 0 :(得分:11)
当然,它只返回一行,这就是mysql_fetch_array
所做的:
mysql_fetch_array - 将 结果行作为关联数组,数字数组或两者获取
现在,要构建一个行数组,只需迭代它们:
$all_rows = array();
while($row = mysql_fetch_assoc($date)) $all_rows[] = $row;
注意我在这里使用mysql_fetch_assoc
的方法。除非您特别需要数字和关联索引,否则不应使用mysql_fetch_array
。
答案 1 :(得分:0)
试试这个:
$date = getQueryData("select * from `date`");
function getQueryData($sQuery)
{
$result = mysql_query($sQuery);
$rows = Array();
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$rows[] = $row;
}
@mysql_free_result($result);
return $rows;
}