2015-11-13 4 views
0

Вот мой data.phpDecode PHP закодированный JSON не работает

$global = $pdo->query("SELECT name, age"); 
$global = $global->fetchAll(PDO::FETCH_ASSOC); 
$arr = array('data'=>$global);  
echo json_encode($arr, JSON_PRETTY_PRINT); 

Вот мой index.php

<html> 
    <?php 
     $json_url = "data.php"; 
     $json = utf8_encode(file_get_contents($json_url)); 
     $data = json_decode($json, false); 
     echo "<pre>"; 
     print_r($data); 
     echo "</pre>"; 
    ?> 
</html> 

Я получаю пустые данные. Что я делаю не так?

+0

Можете ли вы предоставить ваш JSON от $ json_url? – acupajoe

+0

проверить в data.php, что $ arr не пуст –

+2

Как инициализируется '$ pdo'? И ваш запрос выбора кажется отсутствующим 'FROM tablename' – Steve

ответ

0

Попробуйте это:

$query = "SELECT * FROM table"; 
$stmt = $pdo->query($query); 
$global= $stmt->fetchAll(PDO::FETCH_ASSOC); 
$arr = array('data'=>$global);  
echo json_encode($arr); 
//echo json_encode($arr, JSON_PRETTY_PRINT); 
0

Прежде всего убедитесь, что file_get_contents на самом деле что-то возвращает. Если нет, проверьте свои журналы, чтобы узнать, какой файл он действительно запрашивает. Используйте полный путь: http://location/path/to/data.php

У меня были проблемы с чтением JSON без настройки Content-Type. header('Content-Type: application/json')