Php从MySQL构建一个数组

时间:2015-06-08 12:35:49

标签: php mysql arrays

我目前收集的数据如下:

$query = "SELECT * FROM applicants";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
    echo $row['id'].$row['name'].$row['surname'].$row['email'].$row['dob'];
    echo "<br />";
}

它输出一行中的所有数据,如此

1maxpaynemax@hat.com24/07/1950

我想将数据构建到数组中,而不是看起来像这样:

$fields = array(
        'id' => '21890',
        'name' => 'nick',
        'surname' => 'moppy',
        'email' => 'nick@moppy.com',
        'dob' => '11-01-1965',

    ),

3 个答案:

答案 0 :(得分:1)

你应该这样使用。

$query = "SELECT * FROM applicants";

$result = mysql_query($query) or die(mysql_error());

 while($row = mysql_fetch_assoc($result)){
   $res[] = $row;

 }
echo "<pre>"; print_r($res);   echo "</pre>";

答案 1 :(得分:1)

已经拥有你的数组:

FILE_ORIGIN_ID

答案 2 :(得分:1)

所以我要在这里做一个假设。这就是您只需要idnamesurnameemaildob。如果您想要从表和数组中返回所有列,只需将SELECT返回到原来的位置。

$query = "SELECT id, name, surname, email, dob FROM applicants";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    // $row is now what your example array looks like
}

所以有2个不同之处,首先是表中指定的列。如果你真的想要返回所有列(例如回到使用*),但是不希望你的数组中返回所有列,那么这将不起作用(但你没有说过)但是@ b0s3第一个例子会。

其次,添加MYSQL_ASSOC参数。这告诉PHP返回一个只有列名称指示而不是它们的数组和数字键,这会使数组中的项目数增加一倍。