2017-11-22 4 views
-1

ここで私のコードではすべて正常に動作しますが、最後のステートメントは間違っているようです。空のJSONストリームを返します。私はデバッグし、文章でエラー処理を試みましたが、すべてがうまくいます(私はエラー処理を削除して読みやすくしました)。私はたくさん検索しましたが、たくさん見つけましたが、私はgoogleを使用するか、 (最初のものは正しいですが:-)私と一緒に怒ってはいけないしてください、賭けでした)空のJSONを取得する理由

マイコードは

function getMyClass() { 
    global $con; 
    header("Content-Type: application/json; charset=UTF-8"); 
    $json = json_decode($_POST['myClass'], false); 
    $klasseId = $json->{'klassenID'}; 
    $statement = $con->prepare("SELECT a.SchuelerId, Nachname, Vorname, Geburtsdatum FROM schuelerklasse AS a JOIN schueler AS b ON a.SchuelerId=b.SchuelerId WHERE a.KlassenId=?"); 
    $statement->bind_param("s", $klasseId); 
    $statement->execute(); 
    $result = $statement->get_result(); 
    $rows = array(); 
    while ($r = $result->fetch_assoc()) { 
     $rows[] = $r; 
    } 
    print json_encode($rows); 
} 

である私は解決策を見つけたあなたの答え

+1

は、クエリは、いくつかの行を検索することを確信していますか? – Akam

+0

JSONのいくつかのバージョンは日付フィールドをサポートしていません。この場合、これらのフィールドを有効な文字列にフォーマットする必要があります。 –

+0

'var_dump($ rows)'はあなたに何かを与えますか? – deceze

答えて

0

オーケーいただきありがとうございます。 データベースはutf8でコード化されており、アプリケーションはutf8でコーディングされていますが、JSON-Stringはäöüとßを受け入れません。 しかし、私にとって奇妙なことは、json_encodeをwhileループに入れてしまえば結果が得られるということです。それは有効なjsonではありませんでしたが、それはä、ö、üとßを移しました。問題は解決されました。

私を助けようとしたすべての人に感謝します。

よろしく

マティアス

関連する問題