我正在尝试将我的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']);
它不起作用。
答案 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;
检查......