如果我从MySQL数据库中获取数据并使用while循环迭代数据,我将如何将每个数据添加到数组中?
$result = mysql_query("SELECT * FROM `Departments`");
while($row = mysql_fetch_assoc($result))
{
}
答案 0 :(得分:68)
在使用while
循环进行迭代时构建数组。
$result = mysql_query("SELECT * FROM `Departments`");
$results = array();
while($row = mysql_fetch_assoc($result))
{
$results[] = $row;
}
或者,如果您使用PDO,则可以do this automatically。
答案 1 :(得分:6)
这样可以解决问题:
$rows = array();
$result = mysql_query("SELECT * FROM `Departments`");
while($row = mysql_fetch_assoc($result))
{
$rows[] = $row;
}
答案 2 :(得分:6)
这是我创建(多维)数组的最快方法之一。我不确定您是否希望将所有结果压缩到一个数组中。
// Read records
$query = "SELECT * FROM `Departments`";
$query = mysql_query($query);
// Put them in array
for($i = 0; $array[$i] = mysql_fetch_assoc($query); $i++) ;
// Delete last empty one
array_pop($array);
您可以使用print_r($ array)查看结果。
答案 3 :(得分:1)
如果您的Departments表中有多个列,并且您希望保存在不同的数组中。
$result = mysql_query("SELECT * FROM `Departments`");
$dept_id = array();
$dept_name=array();
while($row = mysql_fetch_assoc($result))
{
//fetches and store all results in id column on your departments table
$dept_id= $row['id'];
//fetches and store all results in name column on your departments table
$dept_name=$row['name'];
}
答案 4 :(得分:0)
我的收藏是以下内容;
$result=odbc_exec($conn,$sql);
if ($result) {
while($found_results[] = odbc_fetch_array($result)) { }
array_pop($found_results); //pop off the empty line from while loading
}
你不需要弹出最后一行,但如果你省略它就会留空。 显然对于mysql也是一样的。