php - 为 Json 从 MYSQL 中分离检索到的数据(为 API C# 做准备)
问题描述
我正在尝试为我的 API 准备 Json 数据,这是我目前拥有的代码:
if(isset($_GET)) {
include('db.php');
$result = mysqli_query(
$con,
"SELECT * FROM `vragen`");
while($row = mysqli_fetch_assoc($result)) {
$vraag_ID = $row['vraag_ID'];
$vraagnummer = $row['vraagnummer'];
$vraag = $row['vraag'];
response($vraag_ID, $vraagnummer, $vraag);
}
}
function response($vraag_ID, $vraagnummer, $vraag)
{
$response['vraag_ID'] = $vraag_ID;
$response['vraagnummer'] = $vraagnummer;
$response['vraag'] = $vraag;
$response = [$response];
$json_response = json_encode($response);
echo $json_response;
}
输出此数据:
[{"vraag_ID":"1","vraagnummer":"1","vraag":"Vraag1Vraag1Vraag1Vraag1"}][{"vraag_ID":"2","vraagnummer":"2","vraag":"Vraag2Vraag2Vraag2Vraag2"}][{"vraag_ID":"3","vraagnummer":"3","vraag":"Vraag3Vraag3Vraag3Vraag3"}][{"vraag_ID":"4","vraagnummer":"4","vraag":"Vraag4Vraag4Vraag4Vraag4"}][{"vraag_ID":"5","vraagnummer":"5","vraag":"Vraag5Vraag5Vraag5Vraag5"}]
显然,这还不是“Json 就绪”,并将其作为纯文本输出。
提前致谢。
解决方案
您不需要这样的功能,您使任务过于复杂。只需将您的数组直接构建到while
循环中:
<?php
if (isset($_GET)) {
include('db.php');
$result = mysqli_query(
$con,
"SELECT * FROM `vragen`");
$response = [];
while ($row = mysqli_fetch_assoc($result)) {
$response[] = $row;
}
echo json_encode($response);
}
?>
在您的内部,SELECT
您可以指定要包含哪些字段的 upfont。
推荐阅读
- querydsl - Querydsl使用union得到一列的总和
- sql - 文本值的 SQL 数据透视表
- c# - Ingenico .net SDK 集成 - 进行任何 API 调用时出现未经授权和连接关闭异常
- ios - 查看 ViewController 的打开位置
- mongodb - 如何在 MongoDB 中的多个数组上进行 elemMatch?
- angular - Angular 2 Ace 管理主题没有按预期工作?
- vuejs2 - admob 与 nativescript-vue 集成
- highcharts - 刻度位置在高图子弹图中不起作用
- angular - 需要取消订阅 Firestore/Angularfire2 订阅
- python - 生成一个列表 a(n) 的形式不是 prime + a(k), k < n