【发布时间】:2023-05-08 06:06:01
【问题描述】:
我在 PHP 中有以下函数,我试图以下面提到的特定格式获取数组,但没有成功,我在 mysql 表中选择了一个特定列,而不是包含类似 json 值的列
{
"lat": "-0.008668899503063161",
"lng": "0.0025903204871857714"
}
这是函数
function test()
{
$pdo = new PDO ("mysql:host=localhost;dbname=dbname","user", "secret");
$statement=$pdo->prepare("SELECT test FROM merchants WHERE user_id = 1");
$statement->execute();
$data = array();
while( $row = $statement->fetch(PDO::FETCH_ASSOC) )
{
$data[] = json_decode( $row['test'] );
}
return $data ;
}
我期待以下结果
['lat' => -0.008668899503063161,'lng' => 0.0025903204871857714,]
但这就是我不断得到的
[{"lat":"-0.008668899503063161","lng":"0.0025903204871857714"}]
【问题讨论】:
-
您正在遍历查询的所有结果。每行都有一个嵌套对象。
-
如果查询返回多行,您期望结果是什么?
-
我在数据库表中只有一个我想要获取的项目
-
那你为什么要循环并推入一个数组?获取行并对其进行解码。