php - 数据库行中的一个字段不会被删除

标签 php mysql

我目前正在创建一个链接到后端数据库的网站,我有一个可由用户更新的帐户页面。我一直在尝试添加一个按钮,允许当前登录的用户删除其帐户。

目前,除了用户名之外的所有字段都被删除,这意味着登录仍然是一个选项。

有没有人有办法解决这个问题。请注意,我正在使用 session 。

<?php

    $username = $_SESSION['username'];
    $connect = mysql_connect("localhost","labuser","Labuser1");

    $DB = mysql_select_db('ubiquiblog');
    $query = "DELETE * FROM user_details WHERE username = '$username'";

    if (!mysql_query($query, $connect))
        die("ERROR : Unable to query db : " . mysql_error());

?>

screenshot

前端页面重定向问题

感谢大家的帮助:)

_________________________________________已关闭_________________________________________

最佳答案

首先,您不应该使用 MySQL 扩展。它已被弃用。您应该使用 PDO 或 MySQLi。我推荐前者。

这是一个简单的删除语句的示例

<?php
session_start(); // you'll need this to access anything in $_SESSION

// enable error reporting for development
ini_set('display_errors', 'On');
error_reporting(E_ALL);

if (!isset($_SESSION['username'])) {
    throw new Exception('No username in session');
}

$pdo = new PDO('mysql:host=localhost;dbname=ubiquiblog;charset=utf8',
    'labuser', 'Labuser1');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('DELETE FROM `user_details` WHERE `username` = ?');
$stmt->bindParam(1, $_SESSION['username']);

$stmt->execute();

printf('Deleted %d row(s) for username "%s"',
    $stmt->rowCount(), $_SESSION['username']);

关于php - 数据库行中的一个字段不会被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16269804/

相关文章:

mysql - 如何从 SQL 中选择每 (1918/1000) 条记录?

php - Laravel 5.1 如何使用迁移创建 MySQL 存储过程

php - 如何在不使用其父级的情况下设置 SimpleXmlElement 的文本值?

mysql - mongo 中的 mysql 日期函数等效吗?

php - 帮助这个 JOIN

mysql - pgloader 退出且没有错误(MySQL 5.7 到 PostgreSQL 11.6)

mysql - 如何监控MySQL空间?

php - ftp_exec() 的替代品?

PHP 错误扰乱网站外观

PHPExcel 耗尽 256、512 和 1024MB RAM