【问题标题】:creating json by data from mysql db and variable data通过 mysql db 中的数据和变量数据创建 json
【发布时间】: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

【问题讨论】:

    标签: php mysql arrays json base64


    【解决方案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,第一个可能是最容易使用的。
    猜你喜欢
    • 1970-01-01
    • 2013-06-14
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    相关资源
    最近更新 更多