簡體   English   中英

在PHP中刪除SQL語句不起作用

[英]DELETE sql statement in php doesn't work

我在使用PHP中的SQL查詢刪除數據庫中的一行時遇到問題,我試圖找出我的代碼是否錯誤,並且嘗試過多次重構代碼,但是我的SQL代碼仍然有問題

這是我的代碼

<?php
if(isset($_POST['del'])){
    $cn = @mysql_connect("localhost", "root", "");
    if(!$cn){
        echo "Cannot connect to MySQL server<br>";
        exit;
    }
    mysql_select_db("Logistic");
    $pid = (int)$_POST['pid'];
    if (mysql_query("DELETE FROM product WHERE product.PID = '$pid'")){
        mysql_close($cn);
        echo '<script type="text/javascript">
                alert("Delete product ID:' . $pid . ' successfully");
                history.go(-1);
              </script>';
    } else {
        mysql_close($cn);
        echo '<script type="text/javascript">
                alert("Delete product ID:' . $pid . ' error");
                history.go(-1);
              </script>';
    }
}
?>

當我運行此PHP時,語句mysql_query("DELETE FROM product WHERE product.PID = '$pid'") 一直都是FALSE ,即使有一行具有product.PID ='$ pid'

我歡迎任何建議,並先謝謝您。

您是否從URL收到pid。您可以調試代碼以查找問題。 如果您收到pid,則查詢中可能存在問題。

if (mysql_query("DELETE FROM product WHERE product.PID = '$pid'") or die(mysql_error())){....

它將顯示mysql錯誤並退出程序。 您可以使用print_r($ _ POST)打印所有進入頁面的變量。

您的代碼總是總是說成功。

您可以使用mysql_affected_rows()count> = 1進行刪除檢查。

工作代碼。

    <html>
<form method="POST">
<input type="text" name ="pidpid" />
<input type="submit" name ="del" id="del" value="Delete"/>

</form>
</html>

<?php


if(isset($_POST['del'])){
echo "1";
    $cn = @mysql_connect("localhost", "root", "");
    if(!$cn){
        echo "Cannot connect to MySQL server<br>";
        exit;
    }
    mysql_select_db("Logistic");
    $pid = (int)$_POST['pidpid'];

    $str="DELETE FROM product WHERE product.PID = '$pid'";
    echo $str;
    mysql_query($str);
    $delChk=mysql_affected_rows();
    echo $delChk;

    if ($delChk>=1){
        mysql_close($cn);
        echo '<script type="text/javascript">
                alert("Delete product ID:' . $pid . ' successfully");
                history.go(-1);
              </script>';
    } else {
        mysql_close($cn);
        echo '<script type="text/javascript">
                alert("Delete product ID:' . $pid . ' error");
                history.go(-1);
              </script>';
    }
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM