【发布时间】:2018-08-25 18:40:00
【问题描述】:
我正在使用PDO 从表中获取所有行:
$pdo = new PDO('mysql:host=127.0.0.1;dbname=learning', 'root', '');
$query = $pdo->preapre("
SELECT *
FROM people
INNER JOIN city
ON
people.id = city.person_id
");
$query->execute();
$people = $query->fetchAll(PDO::FETCH_ASSOC);
现在,如果我 print_r 这个 $people 变量我得到一个包含该表中所有这些行的多维数组:
Array
(
[0]=>Array
(
[id] => 1
[name] => Emma
[city] => New York
)
[1]=>Array
(
[id] => 2
[name] => John
[city] => Los Angeles
)
//and so on
)
但是如果我想json_encode 那个$people 变量然后回显它,我会得到一个空白屏幕:
$j = json_encode($people);
echo $j;
我认为我做错了什么,但我不明白是什么,有人可以帮我理解并解决这个问题吗?
谢谢! :D
更新
关于使用var_dump:
var_dump($j);
我明白了:
bool(false)
P.S 我应该提到我将查询更改为 INNER JOIN - 没有 INNER json_encode 工作
【问题讨论】:
-
另见:stackoverflow.com/questions/1475297/phps-white-screen-of-death //
->preapre//json_last_error//var_dump而不是echo