php 将MySql表数据选入数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4729322/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 14:10:12  来源:igfitidea点击:

Selecting MySql table data into an array

phpmysqlarraysmetadata

提问by Kareem Nour Emam

I try to catch data from mysql to put them all in array. Suppose:

我尝试从 mysql 中捕获数据以将它们全部放入数组中。认为:

    users table
    -----------------------
    id| name | code 
    ----------------------
    1| gorge | 2132
    2| flix | ksd02
    3| jasmen | skaod2

    $sql = mysql_query("select id, name, code from users");
    $userinfo = array()
    while($row_user = mysql_fetch_array($sql)){
    $userinfo = $row_user[name] 
    }
-------------------------
foreach($userinfo as $usinfo){
echo $usinfo."<br/>";
}

Here is the problem i can only insert user name but cant insert also code & id in userinfo array please help me to insert all data in same array.

这是我只能插入用户名但不能在 userinfo 数组中插入代码和 ID 的问题,请帮助我将所有数据插入同一个数组中。

[P.S] No object oriented please.

[PS] 请不要面向对象。

回答by jasonbar

$sql = mysql_query("select id, name, code from users");
$userinfo = array();

while ($row_user = mysql_fetch_assoc($sql))
    $userinfo[] = $row_user;

This will give you $userinfoas an array with the following structure:

这将为您$userinfo提供具有以下结构的数组:

[
    [id => 1, name => 'gorge', code => '2123'],
    [id => 2, name => 'flix', code => 'ksd02'],
    [id => 3, name => 'jasmen', code => 'skaod2']
]

If you want to output the data:

如果要输出数据:

foreach ($userinfo as $user) {
    echo "Id: {$user[id]}<br />"
       . "Name: {$user[name]}<br />"
       . "Code: {$user[code]}<br /><br />";
}

回答by Phill Pafford

while($row_user = mysql_fetch_assoc($sql)){
   $userinfo[] = $row_user;
}

foreach($userinfo as $usrinfo){
   echo "Id: ".$usrinfo['id']."<br />";
   echo "Name: ".$usrinfo['name']."<br />";
   echo "Code: ".$usrinfo['code']."<br />";
}

回答by Christos Papoulas

I found this code and I save my day:

我找到了这个代码,我节省了一天:

<?php
$sql=mysql_query("select * from table1");

/*every time it fetches the row, adds it to array...*/
while($r[]=mysql_fetch_array($sql));

echo "<pre>";
// Prints $r as array 
print_r ($r);
echo "</pre>";
?>

回答by Kareem Nour Emam

   while($row_user = mysql_fetch_array($sql)){
    $row_id = $row_user ["id"];
        $row_author = $row_user ["author"];
        $row_code = $row_user ["code"];
       $userinfo[] = array("id"=> $row_id , "author"=> $row_author, "code"=> $row_code);
    }
foreach ($userinfo as $user) {
    echo "Id: {$user[id]}\n"
       . "Name: {$user[name]}\n"
       . "Code: {$user[code]}\n\n";
}