我有一个函数来计算用户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;
}
但是上面的查询总是会产生NULL。
例如,我的用户id=2
且MD5(2)
为c81e728d9d4c2f636f067f89cc14862c
。它生成的查询是:
SELECT id,name FROM
{用户{1}} ID为WHERE MD5(
但是,虽然用户退出,但结果为null。
答案 0 :(得分:1)
仅查询正在按预期工作。检查这个SQLFiddle:http://sqlfiddle.com/#!2/e262d/1
然而,似乎以下行有一些问题。试试这个纠正的:$query = $this->db->prepare("SELECT id, name FROM users WHERE MD5(id) = '$enc'");
注意:我删除了围绕用户和ID的代码中出现的错误引号字符。