将sql结果转换为json php

时间:2015-02-08 03:40:18

标签: php json postgresql pdo

我正在尝试将postgresql数据库的结果转换为json。这是我在网上找到的一个例子,但它给了我意想不到的结果。

<?php

$pdo = new PDO("pgsql:host=MYIP;dbname=MYDB;user=MYUSER;password=MYPASS");

$stmt=$pdo->prepare("SELECT * FROM message_log");
$json=json_encode($stmt);

echo $json;
?>

当我运行脚本时,结果就是这个

  

{“queryString”:“SELECT * FROM message_log”}

知道我在这里做错了什么以及如何将pgsql结果成功转换为json?

1 个答案:

答案 0 :(得分:0)

$stmt不是结果。这是一份PDO声明。你需要获取结果。

$stmt->setFetchMode(PDO::FETCH_OBJ);
$stmt->execute();
$json = json_encode($stmt->fetchAll());
echo $json;