解析由 PDO 语句创建的 JSON 对象

Posted

技术标签:

【中文标题】解析由 PDO 语句创建的 JSON 对象【英文标题】:Parse JSON object created by a PDO statement 【发布时间】:2014-11-06 15:21:59 【问题描述】:

这是我的问题

我浏览了 Stak overflow 和其他网站,但找不到解决我实际问题的答案...

我从 AJAX 请求中调用一个 php 文件,我的 php 文件从我的数据库中获取数据。

我正在做一个 pdo 语句来从我的数据库中获取数据:

//initialize vars such as $db ...
$get = $db->prepare("SELECT * FROM myTable WHERE myTable_id=1");
$get->execute();
echo json_encode($get->fetchAll(PDO::FETCH_ASSOC));

//COLUMNS IN MY TABLE ARE ID, NAME, PHONE, INFO

以便该对象返回到我的 ajax 查询 但我不知道如何将此对象提取到我的 ajax/jquery 语句中以使用其数据...

来自控制台的响应:

[Objectid="1",name="myname",phone="8888888",info="information"]

代码...

success : function(response)
    var id = '';
    var name = '';
    var phone = '';
    var info = '';

请告诉我如何解析,我尝试了 json.parse(response),但无法显示来自此的任何数据...

感谢

【问题讨论】:

显示输出示例 尝试console.log(response) 并使用控制台报告的内容更新您的问题。还使用整个 AJAX 调用更新您的问题。如果您要发回 JSON 数据,则应在 AJAX 调用中使用 dataType: 'json' 来自控制台的响应:[Objectid="1",name="myname",phone="8888888",info="information"] 所以你应该只使用response.id作为id等等?你显然做对了其他一切。 @Julo0sS 使用fetchAll 将返回一个包含所有响应的数组。如果您知道您只收到 1 个回复,请尝试改用 fetch(如果您不想要外部数组) 【参考方案1】:

这样做

success : function(response)
  var data = JSON.parse(response);
  var id = data.id;
  var name = data.name;
  var phone = data.phone;
  var info = data.info;

这应该可以解决问题。

【讨论】:

以上是关于解析由 PDO 语句创建的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章

2017年7月27~~~

pdo预处理语句

PHP中的PDO对象操作学习初始化PDO及原始SQL语句操作

PHP中的PDO操作学习预处理语句及事务

PHP中的PDO操作学习预处理语句及事务

PHP中的PDO对象操作学习初始化PDO及原始SQL语句操作