我在 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/