从 mysql 检索 json 数据并获取值作为对象

Posted

技术标签:

【中文标题】从 mysql 检索 json 数据并获取值作为对象【英文标题】:retrieve json data from mysql and get value as object 【发布时间】:2018-06-09 19:03:23 【问题描述】:

我的数据库中有两个表(meta_key,meta_value),我正在使用下面的代码从数据库中获取值

$sql=mysqli_query($conn,"select * FROM tablename where meta_key='websiteurl' or meta_key='profile_photo'");

while($row=mysqli_fetch_assoc($sql))
   $output[]=$row;

上面的代码像这样检索数据

    meta_key    "profile_photo"
    meta_value  "profile_photo.jpg"
    meta_key    "websiteurl"
    meta_value  "sample.com"

我想得到这样的数据

profile_photo   "profile_photo.jpg"
websiteurl  "sample.com"

如何做到这一点。谢谢

【问题讨论】:

你能不能把var_dump($row); 的输出放在里面,同时给我们看输出。你也在用wordpress吗? 顺便说一句,这不是 JSON。 这里已经回答了这个话题***.com/questions/5036605/… 问题是作为对象接收数据还是格式化输出? 【参考方案1】:

试试这个,希望它会工作

while($row=mysqli_fetch_assoc($sql))

  $output[] = [$row['meta_key']=>$row['meta_value']];

【讨论】:

【参考方案2】:

使用正确的函数。

在您的情况下,您使用返回关联数组的mysqli_fetch_assoc()

您只需要使用返回对象的函数mysqli_fetch_object()

php 手册:http://php.net/manual/en/mysqli-result.fetch-object.php

【讨论】:

【参考方案3】:

这样做:

while($row=mysqli_fetch_assoc($sql))

  $output[$row['meta_key']] = $row['meta_value'];

【讨论】:

【参考方案4】:

制作一个关联数组:

$output[$row['meta_key']] = $row['meta_value'];

【讨论】:

以上是关于从 mysql 检索 json 数据并获取值作为对象的主要内容,如果未能解决你的问题,请参考以下文章

如果包含 json 文档作为字符串,如何从 MySQL(5.6) 列中获取值

Android AsyncTask 无法从 php-mysql 检索 JSON 字符串

从 Javascript 获取 JSON 数据

从mysql json android中检索数据

未从在线 mysql 服务器检索数据

iOS 检索 Web 响应数据后如何从 JSON 中检索值