我正在尝试使用php(products.php)检索mysql数据,并将xml格式的数据返回到ADobe flash as3;但我得到以下错误。
Error opening URL 'http://localhost/Flash/player/products.php'
错误#2044:未处理的ioError: text =错误#2032:流错误。 URL:http://localhost/Flash/player/products.php在php_mysql3_as3_fla :: MainTimeline / frame1()
请不要建议或帮助为什么Flash无法识别http://localhost/Flash/player/products.php地址。我安装了WAMP;这工作正常,因为我有很多其他PHP项目在这里工作。
以下是我的PHP代码
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("test");
$query = "select * from products";
$results = mysql_query($query);
echo '<?xml version="1.0" encoding="utf-8" ?>'." \n";
echo"<GALLERY>\n";
$cnt=0;
while($line=mysql_fetch_assoc($results))
{
echo '<IMAGE TITLE="'.$cnt.'">'.$line['product'].'</IMAGE>'." \n";
$cnt++;
}
echo "</GALLERY>\n";
mysql_close($link);
?>
php文件位于c:\ wamp \ www \ Flash \ player \ products.php
下面是我的AS3闪存代码
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
//myLoader.load(new URLRequest("c:\\wamp\\www\\Flash\\player\\products2.xml"));
myLoader.load(new URLRequest("http://localhost/Flash/player/products.php"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(evt:Event):void {
myXML = new XML(evt.target.data);
for (var i:int = 0; i<myXML.*.length(); i++){
trace("My image number is " + (i+1) + ", it's title is " + myXML.IMAGE[i].@TITLE + " and it's URL is " + myXML.IMAGE[i]);
};
//trace("data: " + myLoader.data);;
}
答案 0 :(得分:3)
答案 1 :(得分:0)
这可能是可能的:
您的电影在本地域运行,并且您正在尝试加载网络资源(我想这将是这种情况)。在这种情况下,您需要添加编译标志:-use-network=true
php文件不存在。
您始终需要捕获URLLoader事件:
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
看看发生了什么!