当前位置: 首页 > 知识库问答 >
问题:

从用户表删除行PHP MYSQL

谢诚
2023-03-14

我想从我的用户表中删除一行当用户单击按钮时,用户需要登录并删除自己的帐户。

我回显了$user\u id,它显示“4”,这是登录用户的正确id,因此user\u id=$user\u id

这是网页我有它举行的按钮我要删除用户行在数据库

<?php
include_once 'dbconfig.php';
if(!$user->is_loggedin())
{
 $user->redirect('index.php');
}
$user_id = $_SESSION['user_session'];

     if(isset($_POST['leave'])){
    $stmt = $DB_con->prepare("DELETE FROM users WHERE user_id = $user_id ");
         $stmt->execute();
    }
$stmt = $DB_con->prepare("SELECT * FROM users WHERE user_id=:user_id");
$stmt->execute(array(":user_id"=>$user_id));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css"  />
<link rel="stylesheet" href="style.css" type="text/css"  />
<title>Welcome - <?php print($userRow['user_email']); ?></title>
</head>

<body>

<div class="header">

    <div class="right">
     <label><a href="logout.php?logout=true"><i class="glyphicon glyphicon-log-out"></i> logout</a></label>
    </div>
</div>
<div class="content">

Welcome  <?php print($userRow['user_name']); ?> <br>
<?php print($userRow['team_name']);?><br>
Rank <?php print($userRow['user_rank']); ?> <br> 
<a href="players.php">Players</a>
<a href="teams.php">Teams</a>

<form action='teams.php' method='post'>
<input type='submit' name='leave' value='Delete Profile'/> </form>

<?php echo $user_id?>

</div>
</body>
</html>

共有2个答案

鲜于承基
2023-03-14
<?php $servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} ?>    

<a href="?id=<?php echo $id;?>" onclick="return confirm('Are you sure?')">Delete</a>

    <?php if(isset($_GET['id'])){
        $user_id = $_SESSION['user_session'];
        $id=$_GET['id'];
        if($id==$user_id){
            $sql = "DELETE FROM Tablename WHERE id='$id'";
            if ($conn->query($sql) === TRUE) {
                echo "Record deleted successfully";
            } else {
                echo "Error deleting record: " . $conn->error;
            }

        }
    }?>
仲承福
2023-03-14

我认为你的问题是你的表单操作(teams.php),它将接收帖子数据。您的删除代码在同一个文件上,逻辑上_POST美元[“离开”]永远不会在此页面中设置。

试着把你的队伍撤下来。表单中的php操作属性。

<form action='' method='post'>
<input type='submit' name='leave' value='Delete Profile'/> </form>

或者在你的团队中。php文件添加您的删除代码

//Make sure you have started the session before using it
$user_id = $_SESSION['user_session'];

if(isset($_POST['leave'])){
    $stmt = $DB_con->prepare("DELETE FROM users WHERE user_id = $user_id ");
         $stmt->execute();
}

另一条建议是使用参数化查询。例子:

if(isset($_POST['leave'])){
  $stmt = $DB_con->prepare("DELETE FROM users WHERE user_id = ? ");
         $stmt-> bindParam(1,$user_id);
         $stmt->execute();

}
 类似资料:
  • 问题内容: 我正在尝试使用SQL从连接在一起的多个表中删除多行。 表A连接到表B表B连接到表C 我想删除表B和C中与表A中的一行相对应的所有行 问题答案: 好吧,如果您使用过InnoDB表,则可以使用外键设置级联删除,这将自动完成所有操作。但是,如果您出于某种原因使用MyISAM,则只需使用多表DELETE即可:

  • 问题内容: 从视图中删除一行,是否会从创建该视图的基表中删除相应的行?我正在使用MySQL。 问题答案: 是的,它会的。唯一需要注意的是权限。 引用官方文档 有些观点是可更新的。也就是说,您可以在诸如UPDATE,DELETE或INSERT之类的语句中使用它们来更新基础表的内容。为了使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。还有某些其他构造会使视图不可更新。

  • 问题内容: 假设Oracle 10G中有两个表 TableA中的每一行在TableB中都有与其相关的几个子行。 我想删除TableA中的特定行,这意味着我必须先删除tableB中的相关行。 这将删除子条目 要删除子表中刚刚删除的行的父行,我可以这样做 上面还将删除子表中的行,其中(last_update_Dtm = sysdate-30)为false。TableA没有last_update_dtm

  • 本文向大家介绍从视图中删除行会从MySQL的基表中删除行吗?,包括了从视图中删除行会从MySQL的基表中删除行吗?的使用技巧和注意事项,需要的朋友参考一下 是的,从视图中删除行从基表中删除行。让我们通过创建一个新表来了解这一点。创建表的查询如下 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出 让我们创建一个视图。创建视图的查询如下

  • 问题内容: 这是正确的方法吗? 问题答案: 对,那是正确的。在这里工作正常: 如果对您不起作用,则可以修改此示例以显示您遇到的问题。

  • 问题内容: 我的数据库中有一个表,其中有要删除的重复记录。我不想为此创建具有不同条目的新表。我想要的是从现有表中删除重复的条目,而无需创建任何新表。有什么办法吗? 看到这些都是我的字段: id对于每一行都是唯一的。 L11_data对于相应的动作字段是唯一的。 L11_data具有公司名称,而动作具有行业名称。 因此,在我的数据中,我在L11_data中有各自行业的重复公司名称。 我要拥有的是存储