我有这段代码:
$json = array();
$hoy = date("Y-m-d");
$consulta = "SELECT e.*,s.sal_nombre, concat(eve_titulo, ' - ',sal_nombre) as title FROM evento e, sala s where s.sal_id=e.sal_id ORDER BY id";
// conexión bbdd
try {
$bdd = new PDO('mysql:host=localhost;dbname=prueba2', 'root', '');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
//ejecutamos consulta
$resultado = $bdd->query($consulta) or die(print_r($bdd->errorInfo()));
// enviamos el resultado codificado en json a la página que lo llama
echo json_encode($resultado->fetchAll(PDO::FETCH_ASSOC));
$result = $resultado->rowCount();
print_r($result);
打印结果时,打印4表示正确的结果,但json_encode不返回任何内容,如果是的话 的print_r($ resultado->使用fetchall());
它返回一个空数组
答案 0 :(得分:2)
问题出现是因为返回的数据未在utf-8
中编码,因为json_encode
需要这样做。
要解决此问题,必须将charset=utf8
属性添加到PDO的DSN。