通过mysqldb中的数据和变量数据创建json



我有来自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之外将它们组合起来呢?Like扩展了带有两个额外字段的数组,然后转换为JSON

您可以在从数据库中获取数据后和添加到整个数组之前将它们添加到数组中。。。。

$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

我最近使用了这个concat运算符来连接JSON中的列。

select  concat('{"laimCode":',laimCode,',"laimYear":',laimYear,',"laimMonth":',laimMonth,',"PaFile":"JVBERi0xLjcKMS.....", "NaFile":"JVBERi0xLjvvm....."}') as json FROM laim_folio

最新更新