繁体   English   中英

PHP从MySQL构建数组

[英]Php Build an Array from MySQL

我目前正在收集这样的数据:

$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',

    ),

您应该使用这种方式。

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

已经有了数组:

$query = "SELECT * FROM applicants";

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

while($row = mysql_fetch_array($result)){
    var_dump($row);
}

因此,我将在此处进行假设。 那就是您只需要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返回一个仅包含列名索引的数组,而不是它们和数字键,这会使数组中的项数加倍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM