【问题标题】:Session delete mysqli会话删除 mysqli
【发布时间】:2014-04-03 17:38:31
【问题描述】:

我有 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,它将删除数据库中列表中的下一个。 我觉得很奇怪。

如果有人可以帮忙...

【问题讨论】:

    标签: php session mysqli sql-delete


    【解决方案1】:

    如果你有 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'];
    

    玩得开心

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 2012-08-12
      • 2016-06-17
      • 1970-01-01
      相关资源
      最近更新 更多