帮忙解决下php删除一条记录的问题

<?phpecho"<html>\n";echo"<head>\n";echo"<title>删除已有的图书</title>\n";echo"</head>\n";ech... <?php
echo "<html>\n";
echo "<head>\n";
echo "<title>删除已有的图书</title>\n";
echo "</head>\n";
echo "<body>\n";
echo "<center>\n";
require "21-3.php";
require "21-1.php";
$sql="select admin from $table_user where id='$_COOKIE[id]'";
$result=$mysqli->query($sql);
$rows=$result->fetch_array();
if($rows[0]!=3)
{
echo "你没有权限执行这项操作!";
exit();
}
else
{
echo "<table width=\"80%\" cellpadding=\"1\" cellspacing=\"1\">\n";
if(!$_POST[id])
{
$sql="select id from $table_book"; //从列表中读出所有图书记录
$result=$mysqli->query($sql); //发送查找列表请求
$num=$result->num_rows; //获取结果条数
$p_count=ceil($num/10); //总页数
if ($_GET["page"]==0 && !$_GET["page"]) $page=1;//当前页
else $page=$_GET["page"];
if($num<1) //如果没有记录
{
echo "<tr>\n";
echo "<td>";
echo "<center><h2>暂时还没有图书的记录</h2></center>"; //输出相应信息
echo "</td>\n";
echo "</tr>\n";
exit(); //退出所有PHP代码
}
else //如果有记录则执行相应操作
{
$s=($page-1)*10;
$sql="select * from $table_book order by id limit $s,10";
$result=$mysqli->query($sql);
echo "<form method=\"post\" action=\"".$_SERVER[PHP_SELF]."\">";
echo "<tr>\n";
echo "<td colspan=\"5\"><center><h2>删除图书第一步:选择记录</h2></center></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>选择</td>\n";
echo "<td>书名</td>\n";
echo "<td>作者</td>\n";
echo "<td>价格</td>\n";
echo "<td>类别</td>\n";
while($rows=$result->fetch_array()) //循环显示记录内容
{
echo "<tr>\n";
echo "<td><input type=\"radio\" name=\"id\" value=\"".$rows[id]."\"></td>\n";
echo "<td><a href=\"21-10.php?id=".$rows[id]."\">".$rows[book_name]."</a></td>\n"; //显示书名
echo "<td>".$rows[book_author]."</td>\n"; //显示作者
echo "<td>".$rows[book_cost]."</td>\n"; //显示价格
$sql2="select type_name from $table_type where id='$rows[book_type]'";
$result2=$mysqli->query($sql2);
$rows2=$result2->fetch_array();
echo "<td>".$rows2[0]."</td>"; //显示类别
echo "</tr>\n";
}
echo "<tr>\n";
echo "<td colspan=\"5\"><center><input type=\"submit\" value=\"删除选择项\" onclick='return confirm(\"你确认删除所选图书?\")' ></center></td>\n";
echo "</tr>\n";
echo "</form>\n";
}
echo "</table>";
$prev_page=$page-1;
$next_page=$page+1;
echo " <p align=\"center\"> ";
if ($page>1)
{
echo "<a href='$PATH_INFO?page=1'>第一页</a> | ";
}
if ($prev_page>=1)
{
echo "<a href='$PATH_INFO?page=$prev_page'>上一页</a> | ";
}
if ($next_page<=$p_count)
{
echo "<a href='$PATH_INFO?page=$next_page'>下一页</a> | ";
}
if ($page<$p_count)
{
echo "<a href='$PATH_INFO?page=$p_count'>最后一页</a></p>\n";
}
echo "</center>";
echo "</body>";
echo "</html>";
}
else{
if(mysql_query("DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = '$_POST[id]' LIMIT 1")){
echo "<h3>删除成功,两秒后返回!</h3>";
echo "<meta http-equiv=\"refresh\" content=\"2; url=delbook.php\">";
}
else {
echo "<h3>删除失败,两秒后返回!</h3>";
echo "<meta http-equiv=\"refresh\" content=\"2; url=delbook.php\">";
}

}
}
?>

一直是删除失败??这是为什么??
展开
 我来答
miniapp16f226ba39e8
2011-01-03 · 超过10用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:19.9万
展开全部
"DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = '$_POST[id]' LIMIT 1"
改成:
"DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = {$_POST['id']} LIMIT 1;"
原因:
php中:在单引号里的变量是不会被解析,会被认成是一般的字符串。
建议:给每一个$_POST[]的下标加上单引号(或双引号向环境),在有的服务器里,不加会报错,数据库字段也最好加上(如:`bs_book`.id->`bs_book`.`id`),加上比较稳当。
miniapppKcJAfnu5RpoY
2011-01-01 · 超过13用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:24.9万
展开全部
if(mysql_query("DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = '$_POST[id]' LIMIT 1")){
echo "<h3>删除成功,两秒后返回!</h3>";
echo "<meta http-equiv=\"refresh\" content=\"2; url=delbook.php\">";

$_POST[id]这个值有传递吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水晶文鑫
2011-01-02 · TA获得超过471个赞
知道小有建树答主
回答量:646
采纳率:0%
帮助的人:385万
展开全部
DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = '{$_POST[id]' LIMIT 1}"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wda900718
2011-01-04
知道答主
回答量:6
采纳率:0%
帮助的人:7.1万
展开全部
if(mysql_query("DELETE FROM `21`.`bs_book` WHERE `bs_book`.id = '$_POST[id]' LIMIT 1")){
中 '$_POST[id]' 改为 ".$_POST['id']."
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式