【发布时间】:2015-10-11 11:04:07
【问题描述】:
我正在学习 PDO。我有一个简单的程序,可以在单击按钮时检索 SQL 表中的所有用户并将它们编码为 JSON。然后它返回此数据并通过 AJAX 检索。我提醒数据,它是数组格式。我想知道如何实际访问这些值,我没有尝试过任何工作。如果有帮助,表格列是 "name" 、 "message" 和 "posted"。
$("button").click(function(){
$.ajax({
type: 'POST',
url: 'Get/index.php',
success: function(data) {
// var obj = $.parseJSON(data);
// var v = data.name;
}
});
<?php
//print_r(PDO::getAvailableDrivers());
//create handler of new PDO object with parameters of sql
//details, username and password_hash
try {
$handler = new PDO('mysql:host=127.0.0.1;dbname=app','root','');
$handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
//die("Sorry Database Issue");
echo $e->getMessage();
die();
}
$query = $handler->query('SELECT * FROM guestbook ');
query->execute();
$results=query->fetchAll(PDO::FETCH_ASSOC);
// save the JSON encoded array
print json_encode($results);
return $results;
?>
【问题讨论】:
-
嗨!如果您评论中的代码属于该问题,请编辑该问题并将其添加到那里,以便对其进行一些格式化。
-
对不起,我删除了它。上面的代码就是所需要的。 Ajax 请求,然后是 PHP。
-
如果我提醒例如 data[0],我会得到返回的第一个字符。我尝试在客户端使用 parseJSON 进行转换,但这也不起作用
-
这可能有多种原因。首先,您不需要返回线。那么你可能想看看jquery's json functionality。另外,表
guestbook中是否有任何值? -
我在最后一行返回结果。是的,值回来得很好,如果我 alert(data) 我得到一个包含所有正确值的数组,但它就像一个字符串一样回来,无论我以何种方式尝试像 alert 一样单独访问值(data.name) 或 alert(data[0].name) 等等,没有任何作用
标签: javascript php ajax associative-array