あなたが探しているのは「fetchAll」です。コードは SQL インジェクションに対してオープンであることに注意してください。PHP スクリプトに悪意のある値を渡すことで、データベースを削除するのは非常に簡単です。したがって、コードを非推奨の Mysql 拡張機能から PDO に変更しました。PDO は値をエスケープします。PDO の詳細については、PHP マニュアルを参照してください (多くの例があります)。
また、データベース内のチャット テーブルのフィールド名がどのように命名されているかを推測できなかったため、次のコードを切り取る必要があることに注意してください。したがって、以下の挿入ステートメントを調整する必要があります。
// database config parameters
$dbhost = "localhost";
$dbname = "test";
$dbuser = "root";
$dbpass = "";
try {
// try to set up a db connection
$db = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
// insert the data using PDO's prepared statements
// you have to adapt this line to the field names of your chat table!!
$sql = "INSERT INTO chat (sendtime,caster,msg) VALUES (:sendtime,:caster,:msg)";
$sth = $db->prepare($sql);
$sth->execute(array(
':caster' => $_POST['caster'],
':sendtime' => $_POST['sendTime'],
':msg' => $_POST['msgText']
));
// Get everything
$sth = $db->prepare("SELECT * FROM chat");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
// your code to format and return the data goes here
print json_encode($result);
}
catch (PDOException $e) {
// if anything related to the database goes wrong, catch the exceptions
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
$db = null;
Actionscript は、次のような JSON オブジェクトを受け取ります。
[
{
"sendtime":"2013-04-14",
"caster":"person1",
"msg":"Message 1"
},
{
"sendtime":"2013-04-15",
"caster":"person2",
"msg":"Message 2"
}
]
ご覧のとおり、質問で使用されている GET を使用したバージョンのように、JSON には特定の変数名がありません (質問で使用されている方法は、大きな結果リストでは機能しません)。
では、Actionscript で JSON ドキュメントをどのように操作するのでしょうか? 私はアクション スクリプト プログラマーではありませんが、この Stackoverflow の投稿は、この問題に対する適切な回答のように見えます。
Actionscript で JSON を取得して解析する