我已经设法从我的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)
导致“未定义”而不是“向下”的值。
修改
我已将其添加到我的php文件中。
echo "phpConfirm=" . $phpConfirm . "&phpConfirmSecond=" . $phpConfirmSecond;
我更改了行$username = "John";
,以便在网络浏览器中对其进行测试。
结果是:
phpConfirm = 6H 2 O&安培; 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。
答案 0 :(得分:0)
发现问题。这是行
//Display the value with variable name "totalItem"
total_txt.text = evt.target.data.totalItem
导致所有问题......
感谢您的帮助。