我已经设法从AS3代码中的sql表中获取了一个值,但是我不明白为什么我无法获得第二个值。
在我的php文件中,我得到了:
// create SQL
$sql = "SELECT * FROM dt_base where username = '$username'";
// execute SQL query and get result
$sql_result = mysql_query($sql, $connection) or die ("Couldn't execute query.");
// get number of rows in $result.
$num = mysql_numrows($sql_result);
$phpConfirm = "";
$phpConfirmSecond = "";
$counter = 0;
while ($row = mysql_fetch_array($sql_result)) {
$up= $row["up"];
$down= $row["down"];
if ($counter == 0) {
$phpConfirm .= $up;
$phpConfirmSecond .= $down;
} else {
// Use a item limiter "|" to seperate the records
$phpConfirm .= "|" . $up;
$phpConfirmSecond .= "|" . $down;
}
$counter++;
}
?>
在我的AS3代码中:
function loadComplete(evt:Event):void {
//Display the value with variable name "totalItem"
total_txt.text = evt.target.data.totalItem
//Get the value (string) with variable name "phpConfirm"
var myResult:String = evt.target.data.phpConfirm;
trace(evt.target.data.phpConfirm);
var myResultSecond:String = evt.target.data.phpConfirmSecond;
trace(evt.target.data.phpConfirmSecond);
//Split the string into an Array
var myArray:Array = myResult.split("|");
var myArraySecond:Array = myResultSecond.split("|");
var finalString = "";
var finalStringSecond = "";
var i:int;
for (i = 0; i < myArray.length; i++) {
finalString = finalString + myArray[i] + "<br>";
finalStringSecond = finalStringSecond + myArraySecond[i] + "<br>";
}
output_txt.htmlText = finalString;
output_txtSecond.htmlText = finalStringSecond;
}
trace(evt.target.data.phpConfirm)
结果的值为“ up”,因此可以正常工作。但是
trace(evt.target.data.phpConfirmSecond)
的结果为“ undefined”,而不是“ down”的值。知道为什么吗?
编辑
我已将其添加到我的php文件中。
echo "phpConfirm=" . $phpConfirm . "&phpConfirmSecond=" . $phpConfirmSecond;
并且我更改了
$username = "John";
行,以便在网络浏览器中对其进行测试。结果是:
phpConfirm = 6h20&phpConfirmSecond = 14h32
因此phpConfirmSecond具有一个值。
但是,当我在PHP文件中包含PhpConfirmSecond时,我的AS3代码会产生错误。
这是错误:
TypeError: Error #2007: Le paramètre text ne doit pas être nul.
at flash.text::TextField/set text()
at as3_php_mysql_01_fla::MainTimeline/loadComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
如果我删除了我的php文件的每条PhpConfirmSecond痕迹,则我的AS3代码可以正常工作并找到值PhpConfirm。
最佳答案
找到了问题。是那条线
//Display the value with variable name "totalItem"
total_txt.text = evt.target.data.totalItem
造成了所有问题...
谢谢您的帮助。