我正在尝试使用ActionScript 3删除数据库中的数据。
我在服务器上创建了一个php:
ListenAndServeTLS()
然后我必须将变量<?php
include ("shared/connect.php");
$idToDelete = $_POST['idToDelete'];
$result = mysqli_query($conn,"
DELETE FROM `annoncesNew` WHERE id=$idToDelete");
?>
发送到此php才能删除该条目。
所以我做了:
deleteBtn.addEventListener(MouseEvent.CLICK,deleteThisAnnonce);
idToDelete
因此,使用此代码,它应该删除id = 144的数据。但是,当我点击function deleteThisAnnonce(event:MouseEvent):void {
trace("deleteThisAnnonce");
var variablesDelete:URLVariables = new URLVariables();
var varDelete:URLRequest = new URLRequest("http://www.***com/***/deleteAnnonce.php");
varDelete.method=URLRequestMethod.POST;
varDelete.data=variablesDelete;
var varLoaderDelete:URLLoader = new URLLoader;
varLoaderDelete.dataFormat=URLLoaderDataFormat.VARIABLES;
varLoaderDelete.addEventListener(Event.COMPLETE,completeHandlerDelete);
ValidateAndSendDelete();
function completeHandlerDelete(event:Event):void{
trace("Data Sent");
}
function ValidateAndSendDelete():void{
trace("deleting"+item.id); //item.id is my the ID. When I trace the output is 144 so it's good.
variablesDelete.idToDelete = item.id;
varLoaderDelete.load(varDelete);
}
}
:deleteBtn
(所有跟踪都正常工作,但我的数据不是删除)。
我通过更改Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs..
annoncesNew WHERE id = $ idToDelete“)来尝试我的PHP; DELETE FROM
删除with
并在我的webbrowser上执行它并且它有效(与id 144被删除了。)
奇怪的是,使用我的AS3代码删除该行(因此代码正常工作)但无论如何它都会抛出此错误2101。知道为什么吗?
Thx
答案 0 :(得分:0)
我认为问题不在你的AS3代码中,而是你的PHP脚本没有将任何值返回给Flash。尝试将其添加到PHP脚本中:
echo "Status=true";
您可能需要在AS3中使用此功能:
varLoaderDelete.dataFormat = URLLoaderDataFormat.TEXT;