<?php include_once 'db.php'; session_start(); if(!$_SESSION['logged_in']) { die('You are unauthorized to be here. 1'); } $old_password = md5($_POST['old_password']); $new_password = md5($_POST['new_password']); $sql = "UPDATE users SET pass='?' WHERE user='?' AND pass='?'"; $q = $db->prepare($sql); $q->bindParam(1, $new_password); $q->bindParam(2, $_SESSION['username']); $q->bindParam(3, $old_password); $q->execute(); header('location: ../?page=account'); ?>
這裏是我的'用戶的表方案:爲什麼此代碼更新用戶密碼不起作用?
`users` (`active` int(1) NOT NULL DEFAULT '1',
`user` varchar(200) NOT NULL,
`pass` varchar(200) NOT NULL,
`admin` int(1) NOT NULL,
`date` varchar(150) NOT NULL DEFAULT 'error',
`Paid` varchar(200) NOT NULL DEFAULT 'None',
KEY `user` (`user`))
ENGINE=MyISAM DEFAULT CHARSET=latin1;
它根本就沒有更新的值在所有...任何想法?
是否引發任何錯誤??? –
pass ='?' WHERE用戶='?' AND pass ='?'不需要引號.. –
如果你有錯誤報告它會告訴你爲什麼查詢沒有更新 – Baig