【发布时间】:2014-07-03 01:46:31
【问题描述】:
我正在使用 jQuery 的 $.ajax,但我不确定我应该如何执行以下操作:
这是我的 javascript(现在它只是嵌入到 html 页面中)
$.ajax({
type: 'GET',
url: 'DBConnect.php',
data: '',
dataType: 'json',
success: function(data) {
console.dir(data);
},
error:function (xhr, ajaxOptions, thrownError) {
dir(thrownError);
dir(xhr);
dir(ajaxOptions);
}
});
DBConnect.php 如下所示:
$username = "root";
$pass = "pass";
$host = "127.0.0.1";
$dbname = "test";
//queries
$table = "events";
$fetchAll = "SELECT * FROM $table";
try {
$DB = new PDO("mysql:host=$host;dbname=$dbname", $username, $pass);
//_WARNING uncommented when debugging
$DB->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
//$DB->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$query = $DB->query($fetchAll);
$query->setFetchMode(PDO::FETCH_OBJ);
while($row = $query->fetch()) {
echo json_encode($row);
}
} catch(PDOException $e) {
echo $e->getMessage();
}
$DB = null;
这样做会出现语法错误。我以为我可以将每一行都作为 json 对象返回,但显然这行不通。我可以将所有行对象添加到一个数组并将其转换为 json,但我想知道是否有更好\更有效的方法来做到这一点。
【问题讨论】:
-
这只会返回结果的第一行...
-
先连接行,然后是 json_encode()。