php无法删除数据库数据 第一次操作可以 后来刷新了怎么也删不了了,代码应该没问题
<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>...
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言删除处理页</title>
</head>
<body>
<?php
if($_REQUEST["L_subject"] !="" )
{
$lsub = $_REQUEST["L_subject"];
$conn = mysql_connect("localhost", "root" ,"123456"); //1链接数据库服务器
$select = mysql_select_db("lnbook" ,$conn); //2选择数据库
$str ="delete from Liuyan where L_subject=".$lsub ;
$del = mysql_query($str); //删除语句
if($del)
{
echo "<script>alert('恭喜你,留言删除成功!'); window.location='product_list.php'; </script>";
}
else
{
echo "<script>alert('对不起,留言删除失败!'); window.location='product_list.php'; </script>";
}
}
else
{
echo "<script>alert('请重新选择要删除的留言'); window.location='product_list.php'; </script>";
}
?>
</body>
</html> 展开
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言删除处理页</title>
</head>
<body>
<?php
if($_REQUEST["L_subject"] !="" )
{
$lsub = $_REQUEST["L_subject"];
$conn = mysql_connect("localhost", "root" ,"123456"); //1链接数据库服务器
$select = mysql_select_db("lnbook" ,$conn); //2选择数据库
$str ="delete from Liuyan where L_subject=".$lsub ;
$del = mysql_query($str); //删除语句
if($del)
{
echo "<script>alert('恭喜你,留言删除成功!'); window.location='product_list.php'; </script>";
}
else
{
echo "<script>alert('对不起,留言删除失败!'); window.location='product_list.php'; </script>";
}
}
else
{
echo "<script>alert('请重新选择要删除的留言'); window.location='product_list.php'; </script>";
}
?>
</body>
</html> 展开
2个回答
展开全部
如果第一次删除可以,刷新删除不了那就对了!因为你的条件是 where L_subject=".$lsub ;
第一次就把数据表中满足条件的数据都删除掉啦!所以返回成功!
而第二次刷新 浏览器会保存你的$_REQUEST里面传过来的数据,你满足条件的数据都已经被删除啦,肯定是不会成功的!
还有把 window.location='product_list.php'; 改成 history.go(-1);比较通用
第一次就把数据表中满足条件的数据都删除掉啦!所以返回成功!
而第二次刷新 浏览器会保存你的$_REQUEST里面传过来的数据,你满足条件的数据都已经被删除啦,肯定是不会成功的!
还有把 window.location='product_list.php'; 改成 history.go(-1);比较通用
追答
$str ="delete from Liuyan where L_subject=".$lsub ;
$del = mysql_query($str); //删除语句
L_subject 这个字段是什么类型的 varchar的还是int类型的 如果是int类型的话你这样写是只有数字能删除
如果是varchar类型的话 应该这样写 $str ="delete from Liuyan where L_subject= ‘“.$lsub.”’";
另外,为确保唯一性删除一般都是根据自增的id来做条件,你这个看着好像不是,最好修改为唯一的!
展开全部
$str ="delete from Liuyan where L_subject=".$lsub ;
删除查询语句,看你的命名,L_subject字段应该是字符串类型的字段吧varchar?
字符串类型的字段,在编写SQL的语句需要将传递的字符串用引号包含
$str ="delete from Liuyan where L_subject=‘".$lsub." ' " ;
你试试
还有你说第一次提交可以,刷新不行
echo "<script>alert('对不起,留言删除失败!'); window.location='product_list.php'; </script>";
你可以在留言删除失败的同时,输出mysql语句的错误
echo mysql_error($conn);
得到具体错误的原因(如果是语句出错的话,mysql会返回具体错误的原因)
删除查询语句,看你的命名,L_subject字段应该是字符串类型的字段吧varchar?
字符串类型的字段,在编写SQL的语句需要将传递的字符串用引号包含
$str ="delete from Liuyan where L_subject=‘".$lsub." ' " ;
你试试
还有你说第一次提交可以,刷新不行
echo "<script>alert('对不起,留言删除失败!'); window.location='product_list.php'; </script>";
你可以在留言删除失败的同时,输出mysql语句的错误
echo mysql_error($conn);
得到具体错误的原因(如果是语句出错的话,mysql会返回具体错误的原因)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询