如何在此示例中删除数据库行?

时间:2012-05-06 21:55:50

标签: php javascript jquery sql ajax

当用户点击“取消”按钮时,我遇到了问题。当用户单击“取消”按钮时,我希望它通过导航到cancelimage.php页面来删除数据库中的行。但它不会删除已上载但随后被取消的文件的数据库行。通过查看下面的代码,为什么不从数据库中删除该行以及如何对其进行编码以实现它?

下面是startImageUpload()函数,它开始上传以及取消按钮功能的特点:

    function startImageUpload(imageuploadform){

    ...

                $(".imageCancel").on("click", function(event) {

var image_file_name = $(this).attr('image_file_name');

                jQuery.ajax("cancelimage.php"  + image_file_name)
                    .done(function(data) {

                    $(".imagemsg" + _cancelimagecounter).html(data);
                });

                return stopImageUpload();

            });       
                  return true;
            }

下面是cancelimage,php页面,它假设从数据库中删除一行?

<?php

$username="xxx";
$password="xxx";
$database="xxx";

mysql_connect('localhost',$username,$password);

mysql_select_db($database) or die( "Unable to select database");

$image_file_name = $_GET["fileImage"]["name"];

    echo "File Upload was Canceled";

        $imagecancelsql = "DELETE FROM Image 
        WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($image_file_name)."'";

    mysql_query($imagecancelsql);

    mysql_close();


?>

下面是php脚本(imageupload.php),它插入了一个数据库行:

<?php

session_start();


$username="xxx";
$password="xxx";
$database="xxx";

mysql_connect('localhost',$username,$password);

mysql_select_db($database) or die( "Unable to select database");

$result = 0;

      move_uploaded_file($_FILES["fileImage"]["tmp_name"],
      "ImageFiles/" . $_FILES["fileImage"]["name"]);
      $result = 1;

        $imagesql = "INSERT INTO Image (ImageFile) 
        VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";

mysql_query($imagesql);

      mysql_close();

?>

1 个答案:

答案 0 :(得分:0)

查看你的代码,我很确定在调用cancelimage.php的$ _FILES变量中没有任何内容

您可以做的是将图像的名称作为参数传递给cancelimage.php脚本,并将其用于查询中。

相关问题