我是PHP& SQL。我正在尝试从我的数据库更新密码,我无法弄清楚SQL语句所以我做了一些研究并遇到了这个SQL语句:
UPDATE `Users` SET password= passwordmd5 (password)
然后我在代码中添加了更多内容,如下所示:
UPDATE `Users` SET password= tony123 MD5 (password) WHERE user_id = 55
我收到以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MD5 (password) WHERE user_id = 55' at line 1
我该怎么办?
答案 0 :(得分:26)
正确的语法是:
UPDATE Users
SET password = MD5('tony123')
WHERE user_id = 55;
或者,如果您以纯文本格式存储密码并且想要将它们转换为哈希值,请执行以下操作:
UPDATE Users
SET password = MD5(password);
答案 1 :(得分:4)
将数据库连接字符串添加到php文件后,这将起作用:
<?php
$password = 'tony123';
$passwordmd5 = md5($password);
$q = mysql_query("UPDATE `Users` SET password = '$passwordmd5' WHERE user_id = 55");
?>
php / mysql connection ref:http://php.net/manual/en/function.mysql-connect.php
答案 2 :(得分:2)
我已将密码作为文本存储到db中,当我将其转换为MD5密码时,我使用了此查询,
UPDATE tablename SET columname = MD5(columname);
在上面的查询中,您只需替换MD5即可使用任何方法代替MD5。
答案 3 :(得分:1)