通过来自 mysql 数据库和变量数据的数据创建 json

creating json by data from mysql db and variable data

我有来自 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

您可以在从数据库中获取数据之后将它们添加到数组中,然后再添加到整个数组中....

    $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

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

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