首页 > 解决方案 > 如何从 amfphp 数组在 AS3(ActionScript 3.0)中的文本输入中显示字符串值?

问题描述

首先,提前感谢任何可以为我提供此代码的帮助。我一直在创建一个基本且极简的登录,它有一个非常基本的用户恢复过程,客户端登录是在带有 adobe air 输出的 flash builder 中完成的,服务器端使用 amfphp 类型的服务与数据库交互,我需要的是mysql 给我的查询值并通过文本字段显示它,考虑到我是一个菜鸟,我想知道是否有人可以告诉或解释我如何从 amfphp 捕获结果然后显示在 AS3(ActionScrip 3.0)中的文本输入中。

从这个特殊情况的角度来看清楚,因为 amfphp 只理解 PDO 或数组以在后台显示结果,以后如何处理从 AS3 (ActionScript 3.0) 中执行的 SELECT 获得的数据在 mysql

好吧,无论如何我会留下部分代码和图像来补充我的问题的支持,下面你会找到我正在使用的 php 函数

public function userQuestion($user) {
    $this->connection = new DatabaseConnector();
    $link = $this->connection->connectDB();
    $sql = sprintf("SELECT 'uquestion' FROM users WHERE username='%s'", $user);
    $result = mysqli_query($link, $sql);
        if($rows = mysqli_num_rows($result) > 0) {
            while ($row = mysqli_fetch_object($result)) {
                $data [] = $row;
            }
                return ($data);
            } else {
                $data[] = null;             
            }
                return($data);
        }

这是代码 AS3(ActionScript 3.0)

private function recoverUserHnadler():void {
    remoteConnection = new AMFPHP();
    var recoverUserHandler:Responder = new Responder(onResultRecoverUserHandler);
    remoteConnection.gateway.call("Login.userQuestion", recoverUserHandler);
}

private function onResultRecoverUserHandler(Event:Object):void {

}

下面我留下了数据库表内容的图像以及从 amfphp 的后台进行的查询,很明显该服务正在运行

在此处输入图像描述

在此处输入图像描述

标签: mysqlamfphpflash-builder4.5

解决方案


回到这里,在阅读并阅读了一些 php 和一些 AS3(ActionScript 3.0)之后,我找到了解决问题的方法,php 函数中存在一些错误以及 AS3 函数中存在一些错误(ActionScript 3.0)

通过反复试验获得的数据为我提供了实现目标的正确指针,但是我考虑将问题的解决方案留在这里,以防万一有人遇到类似情况

下面你会发现我现在正在使用的 php 函数

public function userQuestion($user) {
    $this->connection = new DatabaseConnector();
    $link = $this->connection->connectDB();             
    $sql = sprintf("SELECT `uquestion` FROM users WHERE username='%s'", $user);              
    $result = mysqli_query($link, $sql);            
    if($rows = mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_object($result)) {
            $data [] = $row->{'uquestion'};
        }
        return ($data);
    } else {
        return null;
    }       
 }

这是代码 AS3(ActionScript 3.0)

private function recoverUserHnadler():void {
    remoteConnection = new AMFPHP();
    var recoverResponder:Responder = new Responder (onResultRecoverUserHandler);
    remoteConnection.gateway.call("Login.userQuestion", recoverResponder, userLoginField2.text);
}

private function onResultRecoverUserHandler(Event:Object):void {
    userQuestionField.text = (String(Event));
    if(Event == null) {
    userQuestionField.text = "";
    }
}

好吧,我希望这会有所帮助!


推荐阅读