gpt4 book ai didi

php - 使用 concat 和 MySql 创建一个 json 数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:32 32 4
gpt4 key购买 nike

我正在使用 concat 从 MySql 数据创建一个 json 数组,如下所示:

$id = '5705';
$sql = 'select concat("{""type:""colName"",""id"":""$id""}") as myJson from table where etc.;

$stmt = $conn->prepare($sql);

发生的事情是,我没有从表中获取 colName 的数据和 $id 的值,而是在 中获取结果$sql。我如何突破它并获得 colName$id's 的值?

当前结果

{""type:""colName"",""id"":""$id""}

期望的结果

{""type:""novice"",""id"":""5705""}
//Here novice is data from colName, and 5705 is the value of $id

最佳答案

不要那样做。尝试在 SQL 中将数据格式化为 JSON 将很脆弱,因为将事物编码为 JSON 比您预期的要微妙得多,并且您不可避免地会出错。

你应该使用 json_encode PHP 中的函数。它将可靠地工作,而您的代码几乎肯定会中断。​​

$dataArray = array();

while($statement->fetch()){
$data = array();
$data['type'] = $typeColumn;
$data['id'] = $id;

$dataArray[] = $data;
}

json_encode($dataArray, JSON_HEX_QUOT);

此外,格式化数据以发送给客户端真的不应该是 SQL 查询的一部分。

关于php - 使用 concat 和 MySql 创建一个 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000248/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com