JSON/PHPの使用については、初心者です。私はこの答えに基づいてこれを動作させるように努力してきました。MySQLデータをJSON形式で返します
How to generate .json file with PHP?
私はそれが新しいファイルに書き込むことなく、JSON形式での出力にそれをするMySQLのデータベースを照会しようとしていますすなわち、私は動的なデータを取得しているので、file.json。 json配列を作成するスクリプトを作成できますが、JSON形式で出力する必要があります。上記の例のリンクから私が下に取り組んでいるスクリプトは、DBに接続しますが、データを入力していません。それは私にこの出力を与えます。 DB接続チェックを追加して、スクリプトがDBに接続しているかどうかを確認しました。
接続に成功しました{ "ストリーマー":[]}
これは、私は現在で働いていたコードです。私が逃して改善できるものを教えてくれる人はいますか?セキュリティ上の理由からDB情報が削除されました。
<?php
header('Content-type:application/json;charset=utf-8');
//Make connection to database
$db=new PDO('mysql:dbname=streamdb;host=localhost;','root','');
// Check connection
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
echo "Connected successfully";
//Prepare the query for analyzing
$sql=$db->prepare('select * from maintable');
$response = array();
$streamers = array();
$result=mysql_query($sql);
while($sql=mysql_fetch_array($result))
{
$displayname=$row['DisplayName'];
$streamkey=$row['StreamKey'];
$streamers[] = array('DisplayName'=> $displayname, 'StreamKey'=> $streamkey);
}
$response['streamers'] = $streamers;
echo stripslashes(json_encode($response));
?>
-Thanks!
を確認することができます。不正な形式のJSONです。 – Derek
そして、stripslashesを使わないで、 'json_encode()'がそれを処理します。 – Derek
"$ row"変数がどこにでも初期化されていないようです。たぶんそうだろう:while($ row = ...) –