Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-07-2003, 17:59   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Beiträge: 2
amfphp und FlashCom - Auslesen des ResultSet

Hallo,

ich habe folgendes Problem:

Ich nutze amfphp für eine MySQL-Datenbankabfrage mit PHP.

Aufgerufen über einen NetService aus einem FlashClient ist dies problemlos möglich und ich bekomme mein ResultSet wie erwartet und kann es auslesen.

Rufe ich nun das identische Script in einer Resultfunktion in einem Serverseitigen Actionscript auf dem Flash Communication Server auf bekomme ich keine Informationen aus dem Resultset, abgesehen von den beiden hinzugefügten unshift und registerClass. Die Angegebene Länge des result.length() ist 0.

Sobald ich kein komplettes mysql_query-Result zurückgebe, sondern nur zeilenweise, bekomme ich auch meine Daten.

Wie kann ich an den FlashCom ein komplettes ResultSet zurückgeben und dieses in einer Resultfunktion richtig auswerten?


das Actionscript auf dem Server sieht wie folgt aus:

ActionScript:
  1. Resultmanager.prototype.CheckAvailableRooms_Result = function(result)
  2. {
  3.     laenge = result.getLength();
  4.     trace("Result für CheckAvailableRooms erhalten: " + laenge);
  5.     for (var ids in result.items)
  6.     {
  7.         trace("ids: " + ids);
  8.         trace(result.items[ids].id);
  9.         trace(result.items[ids].name);
  10.         trace(result.items[ids].typeID);
  11.     }
  12. }





Der relevante Teil im PHP-Skript ist folgende Funktion:

PHP-Code:
function CheckAvailableRooms ($id$userID)
{
    
$sql="SELECT rooms.id, rooms.name, rooms.typeID FROM rooms, roomusing WHERE rooms.id = roomusing.roomID AND roomusing.userID = '$userID'";
    
$conn mysql_connect($this->dbhost$this->dbID$this->dbPassword) or trigger_error("Could not connect: " mysql_error()); // don't use die (Fatal Error), return useful info to the client
    
$select mysql_select_db($this->db$conn) or trigger_error("Could not connect: " mysql_error());
    
$rs mysql_query($sql$conn) or trigger_error("Error executing query: " mysql_error());    
    
$error mysql_error();
    
mysql_close($conn);        
    return 
$rs;

Claas01 ist offline   Mit Zitat antworten
Alt 18-08-2003, 20:51   #2 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
Das liegt daran, dass die Record Klasse mit den NetServices in Flash eingebunden werden und du diese Klasse (oder besser die Klassenmethoden) in deinem serverseitigen AS nicht hast (bin kein COM Spezi - mein aber es richtig in Erinnerung zu haben).

Lösen kannst du dieses Problem nur so, wie du es bereits gecheckt hast. Nämlich die Daten als Objekt oder sonstiges zurückzubekommen.

Alternativ könntest du das Record Objekt das AMFPHP dir zurückgibt per "Hand" auseinander nehmen.

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 05-09-2003, 08:56   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Beiträge: 2
Question

Seit dem Updater für den FCSMX von Macromedia verarbeitet der Server nun auch die ResultSets von AMFPHP.

Leider gibt es aber einen anderen Bug bei der Verwendung von AMFPHP, oder ich mache noch einen Fehler:

Bei der Übergabe von größeren Datenmenge über AMFPHP an den FCSMX bekommt der Server nicht alle Zeichen zurück. Für mich nicht nachvollziehbar erhält der Server nur zwischen 900 und 2500 Zeichen, ein ResultSet wird gar ungültig. Die Anzahl der Zeichen schwankt auch bei identischen Abfragen und Ergebnissen.

Eine direkte Abfrage aus einem Flashfilm führt ebenso wenig zu dem Problem, wie die Verwendung von Java und Flash Remoting von macromedia.

Gibt es bei AMFPHP eine andere Lösung, mache ich einen Fehler oder muss ich mir nun Flash Remoting kaufen und viel viel Klassen von PHP in Java umschreiben?
Claas01 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele