可能重复:
PHP/MySQL - SQL 语法错误?
我正在尝试使用以下脚本更新用户密码,但是我只是收到以下错误。我已经使用 PHP 和 MySQL 大约 2 个月了,所以我还是一个初学者,所以我非常感谢任何关于我下面的代码的评论。预先感谢您的帮助。
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '(password, salt) VALUES ('fcf829e6c3478752799b7d49798a14640f110dd4f8767' 附近使用正确的语法
<?php
//Pull in form info
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
//Chrck if the 2 password fields match
if($pass1 != $pass2) {
header('Location: ../admin/pass-change.php?pw=notmatched');
die();
}
//encrypts the password
$hash = hash('sha256', $pass1);
//creates a 3 character sequence
function createSalt()
{
$string = md5(uniqid(rand(), true));
return substr($string, 0, 3);
}
$salt = createSalt();
$hash = hash('sha256', $salt . $hash);
//initialise connection with databse
require_once('../Connections/EliteGrooming.php');
mysql_select_db($database_EliteGrooming, $EliteGrooming);
//Execute the query
$username = $_SESSION['username'];
$query = "UPDATE admin_users (password, salt)
VALUES ( '$hash', '$salt' )
WHERE username = '$username';";
mysql_query($query) or die(mysql_error());;
mysql_close();
header('Location: ../admin/pass-change.php?PassChanged');
?>