前几天,我的群组的成员 iceworks1983 提出了这个问题,今天上班利用空闲时间研究了一下,发现是可以接收的,方法如下:
PHP代码(PHP代码是完成从数据库调用一个收藏夹的信息,可以调用信息,可以加入信息,PHP代码是用的iceworks1983的):
<?
php
class Favorite{
private $dbhost = " localhost " ; // 数据库地址
private $dbname = " favorite " ; // 数据库名称
private $dbuser = " root " ; // 数据库用户名
private $dbpass = "" ; // 数据库密码
private $conn ; // 数据库连
function Favorite(){
$this -> conn = mysql_connect ( $this -> dbhost , $this -> dbuser , $this -> dbpass);
mysql_select_db ( $this -> dbname);
}
function append( $name , $url ){
$rs = mysql_query ( " INSERT INTO tbl_favorite(webname,url) VALUES(' " . $name . " ', ' " . $url . " ') " );
if ( mysql_error ())
return " error " ;
else
return $name ;
}
function getData(){
// return "hello!";
return mysql_query ( " SELECT * FROM tbl_favorite " );
}
}
?>
class Favorite{
private $dbhost = " localhost " ; // 数据库地址
private $dbname = " favorite " ; // 数据库名称
private $dbuser = " root " ; // 数据库用户名
private $dbpass = "" ; // 数据库密码
private $conn ; // 数据库连
function Favorite(){
$this -> conn = mysql_connect ( $this -> dbhost , $this -> dbuser , $this -> dbpass);
mysql_select_db ( $this -> dbname);
}
function append( $name , $url ){
$rs = mysql_query ( " INSERT INTO tbl_favorite(webname,url) VALUES(' " . $name . " ', ' " . $url . " ') " );
if ( mysql_error ())
return " error " ;
else
return $name ;
}
function getData(){
// return "hello!";
return mysql_query ( " SELECT * FROM tbl_favorite " );
}
}
?>
as3.0代码(建一个document class):
package net.smilecn.favorite
...
{
import flash.display.Sprite;
import net.smilecn.net.Remoting;
public class Favorite extends Sprite...{
private var remoting:Remoting;
public function Favorite()...{
init();
}
private function init():void...{
remoting=new Remoting("http://localhost/flashservices/gateway.php",3);
remoting.respond("flashservices.Favorite.getData",onGetData_Ruslt,onGetData_Fault);
}
private function onGetData_Ruslt(re:*):void...{
trace(re["serverInfo"]["initialData"]);
}
private function onGetData_Fault(fe:*):void...{
for(var what in fe)...{
trace(what+" fe:"+fe[what]);
}
}
}
}
import flash.display.Sprite;
import net.smilecn.net.Remoting;
public class Favorite extends Sprite...{
private var remoting:Remoting;
public function Favorite()...{
init();
}
private function init():void...{
remoting=new Remoting("http://localhost/flashservices/gateway.php",3);
remoting.respond("flashservices.Favorite.getData",onGetData_Ruslt,onGetData_Fault);
}
private function onGetData_Ruslt(re:*):void...{
trace(re["serverInfo"]["initialData"]);
}
private function onGetData_Fault(fe:*):void...{
for(var what in fe)...{
trace(what+" fe:"+fe[what]);
}
}
}
}
在返回结果的地方 re["serverInfo"]["initialData"] 就是返回的php的数据集,是一个二维数组.
这里的Remoting类,是我之前的文章中自己定义的Remoting类,没看过的朋友可以看看之章的文章.