在数组中存储SQL中的数据

时间:2011-05-17 17:16:15

标签: php sql arrays

我正在尝试将我的sql数据库中的数据存储到数组中。目前我有这个:

$query = mysql_query("SELECT * FROM  `InspEmail` WHERE  `Company` LIKE  '$company'");

while($row = mysql_fetch_array($query))
    {

        $inspector = $row['name'];

    }

问题是我有8行数据。我需要将该数据库中的每个8个名称存储到一个数组中。当我尝试这个时:

$inspector = array($row['name']);

它不起作用。

5 个答案:

答案 0 :(得分:5)

如果要将所有名称存储在数组中,则需要在while循环范围之外定义数组并附加到该数组。像这样:

$nameArray = array();
while($row = mysql_fetch_array($query)) {
    // Append to the array
    $nameArray[] = $row['name'];   
}

答案 1 :(得分:3)

你想要的是:

$inspector[] = $row['name'];

这会将所有8个名称存储在类似于:

的数组中
array(
     [0] => name1
     [1] => name2
     [2] => name3

)

答案 2 :(得分:1)

很多好的答案。但是如果你经常这样做,你可能想写一个小函数:

mysql_field_array($sql, $fieldname)
{
    $res = mysql_query($sql);
    $a = array();
    while($row = mysql_fetch_array($res))
    {
        $a[] = $row[$fieldname];
    }
    mysql_free_result($res);
    return $a;
}

答案 3 :(得分:0)

替换此行...

$inspector = $row['name'];

......用这个:

$inspector [] = $row['name'];

之后,检查器数组包含所有名称。

答案 4 :(得分:0)

$query = mysql_query("SELECT * FROM  `InspEmail` WHERE  `Company` LIKE  '$company'");
$data = array();
while($row = mysql_fetch_array($query))
{
    $inspector[] = $row;
}
for($i=0;$i<mysql_num_rows($row);$i++)
{
  $data = $inspector[$i];
}
return $data;

检查......