会话删除mysqli

时间:2014-04-03 17:38:32

标签: php session mysqli sql-delete

我有2个网页 修改新闻博客,如果我要删除博客,则打开delete.php。

我使用

检索博客
$query = $db->prepare('SELECT * FROM `news` order by date DESC'); 

$query->execute(); 
$query->store_result(); 
$query->bind_result($id,$title); 

while ($query->fetch()) {


$_SESSION['id'] = $id ;
$_SESSION['title'] = $title ;
<a href="deletenews.php">
}

我为$id$title开了2个会话。 我有一个删除按钮,转到delete.php,

$id = $_SESSION['id'];
$title = $_SESSION['title'];



 $query = $db->prepare('DELETE  FROM `news` WHERE id = ? and title = ?'); 
 $query->bind_param('ss', $id, $title);
 $query->execute(); 

unset($_SESSION['id']);
unset($_SESSION['title']);
header("location: news.php");

我调用$id$title会话在修改页面上进行测试,该工作正常,但当它转到delete.php时,它会发生变化。 它正在从数据库中删除,而不是例如id 1它将删除id 2,它将删除数据库中列表中的下一个。 我觉得很奇怪。

如果有人可以提供帮助......

1 个答案:

答案 0 :(得分:0)

如果你有2条记录,第一条id = 1,第二条id = 2

while ($query->fetch()) {


   $_SESSION['id'] = $id ;
   //First loop $_SESSION['id'] = 1
   //second loop $_SESSION['id'] = 2
   $_SESSION['title'] = $title ;
   <a href="deletenews.php">
}
// at the end $_SESSION['id'] = 2 

你想做的是

while ($query->fetch()) {

   <a href="deletenews.php?id=$id&title=$title">
   //it will link the link ;) with the id of the news
}

delete.php中的更改将是:

$id = $_GET['id'];
$title = $_GET['title'];

玩得开心