MD5密码的SQL更新

时间:2012-01-08 23:29:48

标签: php mysql sql

我是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

我该怎么办?

4 个答案:

答案 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)

另一种方法:

UPDATE Users
SET password = PASSWORD('tony123')
WHERE user_id = 55;

更多info