将MYSQL结果放入PHP数组中

时间:2011-09-19 09:37:37

标签: php mysql arrays

我有一个数组,使用这种结构。

$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);

阵列没有填满。任何人都可以告诉我如何填充阵列吗?

3 个答案:

答案 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(...)。