То, что вы ищете "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"
}
]
Как вы можете видеть, что JSON не имеет конкретного имени переменной, как в варианте с GET используется в вопросе (метод используемый в вопросе, не работает для больших списков результатов).
Итак, как вы работаете с документом JSON в ActionScript? Я не программист ActionScript, но этот пост Stackoverflow выглядит как разумный ответ на эту проблему:
Get and parse JSON in Actionscript
Ok. Но как мне теперь получить переменные? Я не знаю их имен. –
проверить, если «print json_encode ($ result);» вместо print_r ($ result) работает для вас в комбинации с ActionScript. Это преобразует ассоциативный массив в JSON, и должно быть легко выполнить итерацию по элементам массива с помощью Actionscirpt. – herrjeh42
soooo, я получу массив с именем result as as? –