【发布时间】:2014-04-10 10:52:02
【问题描述】:
<?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 用户='?'并通过='?'不需要引号..
-
如果你有错误报告会告诉你为什么查询没有更新