Существует не так много информации о том, как обновить связь между Flash> AMFPHP 2.x и AMFPHP> MySql при обновлении с AMFPHP 1.9 до 2.x. Это сработало для меня.
Старый Flash ActionScript 3 (AMFPHP 1.9):
var arrayCompleet:Array = new Array();
var gw:NetConnection = new NetConnection();
gw.connect("amfphp/gateway.php");
var res:Responder=new Responder(onResult,onFault);
gw.call("findBeads.findThem", res); //class.function
function onResult(responds:Object):void {
// parse the ArrayCollection form the db
arrayCompleet=responds.serverInfo.initialData;
// main arrays aanmaken
for (var i:uint=0; i<arrayCompleet.length; i++) {
arrayID[i]=arrayCompleet[i][0];
arrayName[i]=arrayCompleet[i][1];
}
}
function onFault(responds:Object):void {
//error
}
Старый код PHP для findBeads.php (AMFPHP 1.9):
<?php
class findBeads
{
public function __construct()
{
mysql_connect("host", "db-name", "password");
mysql_select_db("db-name")or die( "Probleem:".mysql_error());
}
/**
* Loads all beads from database
* @returns all beads plus their info
*/
function findThem()
{
return mysql_query("SELECT * FROM beads ORDER BY personID DESC");
}
}
?>
Новый Flash ActionScript 3 (AMFPHP 2.x):
var arrayCompleet:Array = new Array();
var gw:NetConnection = new NetConnection();
gw.connect("/Amfphp/"); //new
var res:Responder=new Responder(onResult,onFault);
gw.call("findBeads.findThem", res); //class.function
function onResult(responds:Object):void {
// parse the ArrayCollection form the db
// main arrays aanmaken
for (var i:uint=0; i<responds.length; i++) { //new
arrayID[i]=responds[i].id; //new add row name from mysql table
arrayName[i]=responds[i].name; //new add row name from mysql table
}
}
function onFault(responds:Object):void {
//error
}
Новый PHP-код для findBeads.php (AMFPHP 2.x):
<?php
class findBeads
{
public static function getConnection() {
return new PDO('mysql:host=host;dbname=db-name',
'username',
'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
}
/**
* Loads all beads from database
* @returns all beads plus their info
*/
function findThem()
{
$pdo = findBeads::getConnection();
$tsql = "SELECT * FROM beads ORDER BY personID DESC";
$stmt = $pdo->prepare($tsql);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $results;
}
}
?>
Надеюсь это поможет.
Задача ещё не решена.
Других решений пока нет …