我需要一个包含名称列表的数组,所以我只是从数据库中获取它们,但是当我打印数组时,我注意到它将每个名称存储到一个单独的数组中。为什么会这样,我怎么才能将它们存储在一个?
我的代码:
<?
// Product names
$producten = "SELECT `naam` FROM `producten`";
$productencon = $conn->query($producten);
$productencr = array();
while ($productencr[] = $productencon->fetch_array());
echo '<pre>';
print_r($productencr);
echo '</pre>';
?>
该打印数组的输出是:
答案 0 :(得分:2)
因为fetch_array
将同时返回列的关联名称和数字索引。
如果您只想要使用的列名称为fetch_assoc
,或者您只想使用数字,则应使用fetch_row
fetch_array
是fetch_assoc
和fetch_row
如果您想保留fetch_array
,您还可以将结果类型指定为第一个参数。默认值为MYSQLI_BOTH
。
您可以在此处查看更多内容:http://php.net/manual/en/mysqli-result.fetch-array.php
答案 1 :(得分:0)
试试这个
$output=array();
while ($productencr = $productencon->fetch_array()){
$output[]=$productencr["naam"];
}
echo '<pre>';
print_r($output);
echo '</pre>';