$q = $db->query("SELECT * FROM user");
while($row = mysqli_fetch_array($q)) {
$product = array();
$product['id'] = $row['id'];
$product['user'] = $row['user'];
$product['data'] = $row['data'];
}
$response["product"] = array();
array_push($response["product"], $product);
我一直在尝试从数据库中选择整个表,然后遍历每个结果并将其推送到数组。上面的代码似乎只是将数组放到表中的最后一项。
答案 0 :(得分:2)
你最好做这样的事情:
$q = $db->query("SELECT * FROM user");
$response = array();
$response["product"] = array();
while($row = mysqli_fetch_array($q)) {
$product = array(
'id' => $row['id'],
'user' => $row['user'],
'data' => $row['data'],
);
array_push($response["product"], $product);
}
由于您一直在重置$response['product']
& $product
数组。
答案 1 :(得分:0)
您需要为每个项目推入数组。目前,每次通过循环覆盖$product
。试试这个:
$q = $db->query("SELECT * FROM user");
$response["product"] = array();
while($row = mysqli_fetch_array($q)) {
$product = array();
$product['id'] = $row['id'];
$product['user'] = $row['user'];
$product['data'] = $row['data'];
array_push($response["product"], $product);
}