0

現在、バックエンド データベースにリンクする Web サイトを作成しています。ユーザーが更新できるアカウント ページがあります。現在ログインしているユーザーが自分のアカウントを削除できるボタンを含めようとしています。

その時点で、ログインがまだオプションであることを意味するユーザー名を除いて、すべてのフィールドが削除されます。

誰かがこれを回避する方法を持っていますか。私はセッションを使用していることに注意してください。

<?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());

?>

スクリーンショット

フロントエンド ページのリダイレクトに関する問題

皆さんの助けに感謝します:)

_______________________________閉まっている_________________________________________

4

1 に答える 1

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']);
于 2013-04-29T01:10:50.227 に答える