我已经创建了一个用户一种形式来改变其编程为bellow-MySQL查询不给正确的输出
include("../database.php");
if(isset($_SESSION['user_name']))
{
$password=$_POST['new_password'];
$query="select password from login where username = '".$_SESSION['user_name']."' and password='".md5($password)."'";
echo $query."<br>\n";
$result=mysql_query($query) or die(mysql_error());
echo $result."<br>\n";
echo "abc<br>\n";
echo mysql_num_rows($result)."<br>\n";
if(mysql_num_rows($result))
{
echo "def";
$row=mysql_fetch_row($result);
$pass=$row['password'];
echo $pass;
if($pass==$password)
{
$query2="UPDATE login SET password='$password' WHERE username='$_SESSION[user_name]'";
echo $query2;
echo "Password changed successfully";
}
else
{
echo "You entered wrong current password";
}
}
else
{
echo "here";
}
}
else
{
header('Location:index.php');
}
它给$结果= 0的密码。所以它不会更新用户密码。它直接转到其他部分,并在输出“在这里”写入。这是什么解决方案。
很难确定,但你使用做一个SELECT'$ _ POST [“NEW_PASSWORD”]',然后使用相同的值的更新。当然,你应该使用SELECT的现有密码,因为他们的密码在那时不会改变? – andrewsi
你的查询是什么样的,用户名和密码实际上是否存在于数据库中 – ejrowley
更改''“。$ _ SESSION [user_name]。”“' – user2092317