2016-10-14 4 views
0

私はAngularでAPIRestを作成しています.PHP結果をJSONに解析する必要があります。私はこの問題についていくつかの答えを読んだが、私の問題を解決しなかった。PDO FetcthAll to JSON null

問題はjson_encode返品nullです。理由はわかりません。クエリで使用すべき変数が存在しない場合は

$conexion = new PDO("mysql:host=localhost;dbname=blog", "root", ""); 
$sql = "select * from articles"; 
$sql = $conexion->prepare($sql); 
$json = json_encode($sql->fetchAll(PDO::FETCH_ASSOC)); 

if ($json) { 
    echo $json; 
} else { 
    echo "Error"; 
    echo "<pre>"; 
    print_r($json); 
    echo "</pre>"; 
} 
+1

なぜ 'prepare()'を使うのか分かりませんが、http://php.net/manual/en/pdostatement.execute.php – AbraCadaver

+0

もしremove prepare()がnullを返さなければ、エラーエコーを返します。 –

+1

あなたはクエリを 'execute()'していません。 –

答えて

1

は、その後、準備いずれかを使用して意味がありません - あなたの代わりにquery()メソッドを使用することができます。

また、JSONのためにあなたは、このようにあなたは、コードの

$conexion = new PDO("mysql:host=localhost;dbname=blog;charset=utf8", "root", ""); 
$sql = $conexion->query("select * from articles"); 
echo json_encode($sql->fetchAll(PDO::FETCH_ASSOC)); 

残りは意味がない、削除する必要があることをPDOを伝える必要があり、utf-8符号化されたデータを必要としています。

+0

タッチ、「noob」エラーです。 Charset = utf8はnullとエラーを引き起こします。私はそれを追加して解決します。ありがとう。 –