簡體   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