Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 比较字段的MD5结果为空_Php_Mysql_Sql_Md5 - Fatal编程技术网

Php 比较字段的MD5结果为空

Php 比较字段的MD5结果为空,php,mysql,sql,md5,Php,Mysql,Sql,Md5,我有一个函数来计算哪些输入了用户id的MD5,哪些输出了id,name public function verifyUser($enc) { //echo $enc; $query = $this->db->prepare("SELECT id,name FROM `users` WHERE MD5(`id`) = '$enc'"); //$query->bindValue(1,$enc); $query->execute(); $

我有一个函数来计算哪些输入了用户id的MD5,哪些输出了
id,name

public function verifyUser($enc)
{
    //echo $enc;
    $query = $this->db->prepare("SELECT id,name FROM `users` WHERE MD5(`id`) = '$enc'");
    //$query->bindValue(1,$enc);
    $query->execute();
    $data = $query->fetch();
    //var_dump($query);
    return $data;
}
但是上面的查询结果总是空的

例如,我有一个id=2的用户,
MD5(2)
is
c81e728d9d4c2f636f067f89cc14862c
。它生成的查询是:

users
中选择id和name,其中MD5(
id
)=“c81e728d9d4c2f636f067f89cc14862c”


但是,尽管用户退出,结果却是空的。

查询本身正在按预期工作。检查此SQLFiddle:

不过似乎下面这行有一些问题。试试下面这个:

$query = $this->db->prepare("SELECT id, name FROM users WHERE MD5(id) = '$enc'");

注意:我删除了代码中围绕用户和id的错误引号字符。

您的查询是否返回空结果集,或者id和名称是否为NULL?此外,您似乎对bindValue部分进行了注释,并且没有发送参数$enc的值。您是否尝试手动计算它(将您的查询粘贴到phpMyadmin上,等等)。因为它正在工作。md5(2)查询正在按预期工作。检查此小提琴:是的,查询返回所需的o/p。但是当我变量转储查询时,它会像
SELECT id,name FROM users WHERE md5(id)一样输出='c81e728d9d4c2f636f067f89cc14862c'
我认为导致错误的空白似乎就是问题所在。