从 AS3 中删除我的数据库的数据

Delete a data of my database from AS3

我正在尝试使用 ActionScript 3 从我的数据库中删除数据。

我在我的服务器上创建了一个 php :

<?php
include ("shared/connect.php");
$idToDelete   = $_POST['idToDelete'];

$result = mysqli_query($conn,"
DELETE  FROM `annoncesNew` WHERE id=$idToDelete");
?> 

然后我必须将变量 idToDelete 发送到此 php 才能删除该条目。

所以我做到了:

deleteBtn.addEventListener(MouseEvent.CLICK, deleteThisAnnonce);

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);
    }
}   

所以,使用这段代码,它应该删除 id = 144 的数据。但是当我点击 deleteBtn 时出现了这个错误:Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs..

(所有痕迹都正常工作,但我的数据没有被删除)。

我已经通过更改 DELETE FROMannoncesNew WHERE id=$idToDelete");withDELETE FROM annoncesNew WHERE id=144"); 并在我的网络浏览器上执行它来尝试我的 php它起作用了(id 为 144 的行已被删除)。

奇怪的是,该行已用我的 AS3 代码删除(因此代码可以正常工作)但无论如何它都会抛出此错误 2101。知道为什么吗?

谢谢

我相信问题不在您的 AS3 代码中,而是您的 PHP 脚本没有将任何值返回给 Flash。尝试将此添加到您的 PHP 脚本中:

echo "Status=true";

您可能需要在您的 AS3 中使用它:

varLoaderDelete.dataFormat = URLLoaderDataFormat.TEXT;