2014-04-03 138 views
0

我有2個網頁,其中 修改了一個新聞博客,如果我想刪除一個博客,它會打開delete.php。會話刪除mysqli

我檢索使用

$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,它會刪除數據庫中的下一個列表。 我覺得很奇怪。

如果有人可以幫助...

回答

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']; 

玩得開心