从 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 FROM
annoncesNew WHERE id=$idToDelete");with
DELETE FROM annoncesNew WHERE id=144");
并在我的网络浏览器上执行它来尝试我的 php它起作用了(id 为 144 的行已被删除)。
奇怪的是,该行已用我的 AS3 代码删除(因此代码可以正常工作)但无论如何它都会抛出此错误 2101。知道为什么吗?
谢谢
我相信问题不在您的 AS3 代码中,而是您的 PHP 脚本没有将任何值返回给 Flash。尝试将此添加到您的 PHP 脚本中:
echo "Status=true";
您可能需要在您的 AS3 中使用它:
varLoaderDelete.dataFormat = URLLoaderDataFormat.TEXT;
我正在尝试使用 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 FROM
annoncesNew WHERE id=$idToDelete");with
DELETE FROM annoncesNew WHERE id=144");
并在我的网络浏览器上执行它来尝试我的 php它起作用了(id 为 144 的行已被删除)。
奇怪的是,该行已用我的 AS3 代码删除(因此代码可以正常工作)但无论如何它都会抛出此错误 2101。知道为什么吗?
谢谢
我相信问题不在您的 AS3 代码中,而是您的 PHP 脚本没有将任何值返回给 Flash。尝试将此添加到您的 PHP 脚本中:
echo "Status=true";
您可能需要在您的 AS3 中使用它:
varLoaderDelete.dataFormat = URLLoaderDataFormat.TEXT;