От AMFPHP 1.9 до 2.x с Flash и MySql

Существует не так много информации о том, как обновить связь между 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;
}
}

?>

Надеюсь это поможет.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …