Php 检索sql数据并生成为json文件
我正在尝试从mySQL检索数据并生成JSON文件。Php 检索sql数据并生成为json文件,php,mysql,database,Php,Mysql,Database,我正在尝试从mySQL检索数据并生成JSON文件。 但输出仅显示1行。 数据库表中有许多行。 这个代码有什么问题 $sql = "SELECT * FROM form_element"; $result = mysqli_query($conn, $sql); $response = array(); $data_array = array(); if (mysqli_num_rows($result) > 0) { // output data of each row whi
但输出仅显示1行。
数据库表中有许多行。
这个代码有什么问题
$sql = "SELECT * FROM form_element";
$result = mysqli_query($conn, $sql);
$response = array();
$data_array = array();
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($data = mysqli_fetch_assoc($result)) {
$id = $data['id'];
$name = $data['name'];
$email = $data['email'];
$phone = $data['phone'];
$address = $data['address'];
$data_array = array(
'name' => $name,
'email' => $email,
'phone' => $phone,
'address' => $address
);
}
} else {
echo "0 results";
}
$response['data_array'] = $data_array;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
每次在循环中都会覆盖
$data\u array
因此,这部分:
$data_array = array(
'name' => $name,
'email' => $email,
'phone' => $phone,
'address' => $address
);
应改为:
$data_array[] = array(
'name' => $name,
'email' => $email,
'phone' => $phone,
'address' => $address
);
然后将每一行添加到$data\u数组中