phpmyadmin我无法删除用户

phpmyadmin我无法删除用户,php,html,Php,Html,当一个用户点击“删除”时,我写了一个代码,但它没有删除帐户,只是注销,我尝试在互联网上搜索,但没有找到任何对我有帮助的东西。 代码如下: <?php include('server.php'); session_start(); if (isset($_GET['delete'])) { $query = "DELETE FROM `users` WHERE `username` = '$username', `password`='$password'"; mysq

当一个用户点击“删除”时,我写了一个代码,但它没有删除帐户,只是注销,我尝试在互联网上搜索,但没有找到任何对我有帮助的东西。 代码如下:

<?php include('server.php'); 

session_start();

if (isset($_GET['delete'])) {
    $query = "DELETE FROM `users` WHERE `username` = '$username', `password`='$password'";
    mysqli_query($db, $query);
    session_destroy();
    unset($_SESSION['username']);
    unset($_SESSION['password']);
    unset($_SESSION['money']);
    header("location: login.php");
}
?>

在不知道
server.php
的内容的情况下,我可以看到一些错误。首先,您的代码易受SQL注入攻击。关于这一点,有几个话题,所以,还是读那个吧

从您的代码开始,
$db
$username
$password
未定义。从下面几行猜测,它必须是
$\u会话['username']
$\u会话['password']

此外,SQL在我看来并不有效,但有一件事我不确定——根据我的大脑,它应该是有效的

$stmt = $db->prepare('DELETE FROM users WHERE username = ? AND password = ?');
$stmt->bind_param('ss', $_SESSION['username'], $_SESSION['password']); // 's' specifies the variable type => 'string'
$stmt->execute();

我也希望你不要用明文存储密码

执行sql语句后检查错误(
mysqli\u error
)。还了解防止sql注入的准备语句。从不存储纯文本密码我应该使用AND而不是逗号Yes。添加多个条件时,请使用
,而不是
。您确定查询中使用的这些变量已定义且可见吗?还建议未加密的密码,这是非常糟糕的!更不用说sql注入漏洞了,还要确保进行查询的用户已被授予删除权限Genever store纯文本密码!请使用来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()。在散列之前,请确保对它们进行了清理或使用了任何其他清理机制。这样做会更改密码并导致不必要的额外编码
$query=“从用户名为$username的用户中删除”
并在users和username中使用``进行了尝试。我还尝试了你的版本,但它不起作用,我尝试了
$\u SESSION['username']
,这给了我一个错误。我试着给出评论,但甚至没有给出信息。但是,如果我尝试使用带有名称的变量,而不是使用带有名称的变量,它会成功地工作。我还更新了问题,使用了更多代码。