无法将md5哈希输出为数据库中的相同哈希值

时间:2014-11-28 18:44:38

标签: php mysql hash md5

我有这个小问题,希望你能解决。

每当我尝试从数据库中检索哈希时,都会收到此错误: 'where子句'中的未知栏'26657d5ff9020d2abefe558796b99584'

这是我的PHP代码:

<?php

if(isset($_GET['email']) && !empty($_GET['email']) AND isset($_GET['hash']) && !empty($_GET['hash'])){

//Verifier les données

    $email = mysql_real_escape_string($_GET['email']);
    $hash = mysql_real_escape_string($_GET['hash']);

    $verification = mysql_query("SELECT email, hash, status FROM utilisateurs WHERE Email = '".$email."' AND
    $hash = '".$hash."' AND status = '0'") or die(mysql_error());
    $match = mysql_num_rows($verification);

    echo $match; // Just for testing how many matches we'll get. We expect "1" or "0"

}else{ 

    //Invalid approach

    echo "Invalid approach, please use the link that has been send to your email.";

}


?>

所以当我测试网址时:http://mywebsite.com/verify.php?email=name@gmail.com&hash=26657d5ff9020d2abefe558796b99584我确定哈希是存在的,因为我使用相同的电子邮件从数据库中复制了它

我收到错误: 'where子句'中的未知栏'26657d5ff9020d2abefe558796b99584'

散列是这样做的:$ hash = md5(rand(0,1000));

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的SQL查询包含以下条款:

… AND $hash = '".$hash."' AND …
      ^^^^^

您想要检查hash列的值,而不是$hash