如何使用 php 删除整行?

How to delete entire row using php?

我正在制作一个应用程序,用户可以使用他们的电子邮件和密码注册和登录。用户可以拥有自己的个人资料,如姓名、地址等。我还创建了删除按钮,以便用户可以删除他们的整个帐户。 我想让用户点击那个删除按钮,它要求他们的电子邮件和密码来删除他们的整个帐户?下面是要删除的代码,但这只是删除代码中写的内容,我想问个人用户输入他们的电子邮件和密码以仅删除他们自己的行。

<?php
$servername = "host";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// sql to delete a record
$sql = "DELETE FROM users WHERE user_id=13";

if (mysqli_query($conn, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Here in picture one user having user id 13 want to delete his account (entire row)

SQL 中有一个 DELETE 语句,通过使用它您可以非常轻松地删除整行,例如,在您的情况下,查询看起来像

DELETE from table_name
WHERE email=xyz;

这将完全删除邮箱为xyz 的帐户的数据,您可以将table_name 和xyz 替换为您自己的。然后查询将按预期工作。 有关如何使用 DELETE 语句的更多信息,您可以访问 SQL DELETE Statement

注意:您也可以在where子句中使用User_ID代替email,那么它会根据user_id过滤结果,但是确保它是唯一的,否则所有包含 User_ID 或电子邮件的行都将被删除

首先,您应该离开 mysql_* 并开始使用 PDOmysqli(因为 mysql_* 已被弃用,现在已在新版本中删除)。

您想要的请求只是DELETE FROM users WHERE user_id=13,您只需要放置一个表单并仅在获取的数据等于用户填写的数据时才执行查询。

当用户点击删除按钮时,显示用于确认电子邮件和密码的 html/php 表单。我想电子邮件是您用户的关键信息,所以当提交该表单时,将电子邮件输入变量:$email_variable 例如在 sql 中执行此操作: "DELETE FROM tablename WHERE email='".$email_variable."'"