2016-07-11 18 views
0

私のデータベースのデータをapplication/json形式で取得するためにPHPで非常に簡単なAPIを構築しています。PHPでアプリケーション/ json出力の結果を見ることができません

<?php 

include '../inc/db.php'; 

if (isset($_GET['id'])) { 
    $req = $pdo->prepare('SELECT * FROM muscular_groups WHERE id = ?'); 
    $req->execute([$_GET['id']]); 
    $res = $req->fetchAll(); 
} 
else { 
    $req = $pdo->prepare('SELECT * FROM muscular_groups'); 
    $req->execute(); 
    $res = $req->fetchAll(); 
} 

header('Content-Type: application/json'); 
echo json_encode($res); 

問題は、あなたが以下を参照できるように、すべてのローカルにうまく機能していることである:ここで

は私muscular-groups.phpファイルです enter image description here

しかし、私は(で私のサーバーにアクセスしたいときwww.example.com/api/muscular-groups)、エラーメッセージやエラーログのない白い画面が表示されます。

奇妙なもの:header('Content-Type: application/json');echo json_encode($res);var_dump($res)と置き換えた場合は、muscular-groups.phpが画面に表示されます。

PSは:非常に奇妙な、私のエンドポイントの一方のみが(例えば:www.example.com/api/offersを)私のサーバー上で動作し、JSONの出力を表示し、ここではコードです:私は失われたよ

<?php 

include '../inc/db.php'; 

$req = $pdo->prepare('SELECT * FROM offers'); 
$req->execute(); 
$res = $req->fetchAll(); 

header('Content-Type: application/json'); 
echo json_encode($res); 

...

+0

最初の質問:あなたのサーバで動作していないPHPのどのバージョンが動作していますか? – RiggsFolly

+0

提案:ファイルの先頭の に[エラー報告](http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php/845025#845025)を追加してください)_あなたのPHPタグを開いた直後に動作しないサーバーで実行中_ '<?php error_reporting(E_ALL); ini_set( 'display_errors'、1); '何かが得られるかどうかを調べる。 – RiggsFolly

+0

@RiggsFolly私のPHPバージョンは5.6.17-0 + deb8u1です。私はすでにそれを試みましたが、何も表示されません。私のphp-fpm php.iniファイルでも、すでに有効になっているようです。 –

答えて

0

私はついにこれを手に入れました:問題はUTF-8文字があり、PDOは現状のままで提供するように構成されていなかったことです。だから$pdo->exec("SET NAMES 'utf8'");私の人生を救った!

関連する問題