我有一个数组,使用这种结构。
$data = array(
array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25),
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18)
);
我想将MYSQL表中的数据读入此数组。这是我的代码
$sql = "select * from mynames limit 10";
$result = mysql_query($sql);
$data = mysql_fetch_array($result, MYSQL_NUM);
阵列没有填满。任何人都可以告诉我如何填充阵列吗?
答案 0 :(得分:13)
while($data = mysql_fetch_assoc($result)){
$row[] = $data;
}
print_r($row);
答案 1 :(得分:1)
您是否希望将结果附加到$data
?如果是这样,你可以这样做:
$data = array(
array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25),
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18)
);
$sql = "SELECT * FROM mynames LIMIT 10";
$result = mysql_query($sql);
while (($row = mysql_fetch_array($result, MYSQL_NUM)) !== false) {
$data[] = $row;
}
或者,如果您希望将从MySQL返回的行与$data
中的行合并,您可以执行以下操作:
$i = 0;
while (($row = mysql_fetch_array($result, MYSQL_NUM)) !== false) {
$data[$i] = array_merge($data[$i], $row);
$i++;
}
答案 2 :(得分:0)
mysql_fetch_array
将从结果中获取下一行,当没有更多行时返回false
。要传播包含您需要迭代的所有结果的数组(例如,使用while ($row = mysql_fetch_array(...
)。