【发布时间】:2016-01-24 16:09:44
【问题描述】:
所以我是 php 和 mysql 的新手,在过去的几天里,我使用 php 和 mysql 创建了一个登录系统。我正在尝试创建一个功能,用户可以使用以下查询更改密码:
$query2 = mysql_query("SELECT password FROM adminusr WHERE id =$idToChange");
$result = mysql_query($query2) or die($idToChange.mysql_error());
【问题讨论】:
-
(1) 您不会使用
SELECT查询更改任何内容。 (2) 相当使用“mysql_”。它不再受支持。 -
第 1 行中的 $query2 是您要遍历的结果集。第2行没有意义。一个人应该散列他们的密码,并用密码验证他们。正如 Gordon 所说,不推荐使用 mysql* 函数。使用mysqli或者pdo,上面很多都可以Seen in this Link
-
这段代码应该是抓取数据库中的密码。选择查询应该从用户 ID 中从数据库中获取密码。在稍后的另一个查询中,我更改了密码。
-
不要获取密码(将其保存为明文)。散列并验证它。散列是一种单向函数。最佳实践是让您验证哈希,而不是用人工确认 cleartext=cleartext。现在我敢打赌,因为你开始认为这不是你要做的,但这是你应该做的
-
这是deprecated function 的手册页。另外不要使用 md5