php - php 中的 DELETE sql 语句不起作用

标签 php mysql sql-delete

我在 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("从产品中删除,其中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) 打印进入页面的所有 post 变量。

关于php - php 中的 DELETE sql 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087703/

相关文章:

mysql删除连续的行

php - TLS 协商失败 : ldap_connect with port other than default

Php 站点无法运行,在 Pear DB 连接处停止,但没有错误

javascript - 将时间格式数据显示到highcharts中

mysql - 如何解决此错误 "MySQL Error: 1109 (Unknown table ' table_name' in MULTI DELETE)”?

sql - TRUNCATE TABLE 会增加事务日志吗?

PHP foreach - 在源代码中显示换行符

c# - 命令执行期间遇到 fatal error

Mysql WHERE IN() 子句必须对重复出现的次数求和

php - Codeigniter - 外键