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

时间:2013-04-29 00:58:26

标签: php mysql

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

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

有没有人能解决这个问题。请注意我正在使用会话。

<?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

在前端页面上重定向的问题

感谢大家的帮助:)。

_______________________________ CLOSED _________________________________________

1 个答案:

答案 0 :(得分:1)

首先,您不应该使用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']);