通过 mysql db 中的数据和变量数据创建 json
Posted
技术标签:
【中文标题】通过 mysql db 中的数据和变量数据创建 json【英文标题】:creating json by data from mysql db and variable data 【发布时间】:2022-01-16 12:11:16 【问题描述】:我有来自 mysql 数据库的数据和来自数据库的 base64 文件的数据 我想将它们结合起来,这样我就可以同时拥有一个 JSON 数据
$PaFile="JVBERi0xLjcKMS.....";
$NaFile="JVBERi0xLjvvm.....";
$sqlRun = mysqli_query($conn, "SELECT laimCode, laimYear, laimMonth FROM laim_folio");
$row = mysqli_fetch_assoc($sqlRun);
$json_array[] = $row;
$jasondata = json_encode($json_array[]);
我期望的输出是
[
"laimCode":"1234",
"laimYear":"2021",
"laimMonth":"11",
"PaFile":"JVBERi0xLjcKMS.....",
"NaFile":"JVBERi0xLjvvm....."
]
如果我将这两个变量作为带有值的静态列放入 SQL 中,我可以获得我想要的结果 但是有没有办法在 SQL 之外将它们组合起来? 比如用两个额外的字段扩展数组,然后转换为 JSON
【问题讨论】:
【参考方案1】:您可以在从数据库中获取数据之后将它们添加到数组中,然后再添加到整个数组中......
$row = mysqli_fetch_assoc($sqlRun);
$row['PaFile'] = "JVBERi0xLjcKMS.....";
$row['NaFile'] = "JVBERi0xLjvvm.....";
$json_array[] = $row;
$jasondata = json_encode($json_array);
或者将值添加到 SQL 中,使它们成为结果集的一部分。所以值只是一个文字,别名变成了列名......
SELECT laimCode, laimYear, laimMonth,
"JVBERi0xLjcKMS....." as PaFile,
"JVBERi0xLjvvm....." as NaFile
FROM laim_folio
【讨论】:
这两种处理速度哪个效率更高?因为base64文件是很长的文件来处理 @SalumSaid,第一个可能是最容易使用的。以上是关于通过 mysql db 中的数据和变量数据创建 json的主要内容,如果未能解决你的问题,请参考以下文章