首先,在此先感谢您能为我提供此代码的帮助。我一直在创建一个具有非常基本的用户恢复过程的基本且极简的登录名,客户端登录是在带有Adobe Air输出的Flash Builder中完成的,服务器端使用amfphp类型的服务与数据库进行交互,我需要的是mysql给我的查询值,并通过一个文本字段显示出来,考虑到我对此不满意,我想知道是否有人可以告诉或解释我如何从amfphp捕获结果,然后显示为在AS3(ActionScrip 3.0)中输入的文本。
从这种特殊情况的角度来看很清楚,因为amfphp仅了解PDO或数组以显示后台的结果,如何稍后从AS3(ActionScript 3.0)处理从mysql中从SELECT获得的数据< / p>
好吧,无论如何,我将保留部分代码和图像以补充我的问题,下面您将找到我正在使用的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的后台进行的查询,该服务显然在起作用
答案 0 :(得分:0)
回到这里,在阅读和阅读了一些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 = "";
}
}
好吧,我希望这会有所帮助!