2016-01-14 56 views
0

我有md5的一些用戶信息(爲了簡單起見可以說id和電子郵件),並且希望使用這些信息在我的數據庫中查找該用戶。從mysql中選擇2行的Md5組合

在它的代碼最簡單的形式看起來像這樣

return $this->db->get_where('table', array('MD5(id,email)='=>$token) ,1); 

不知道爲什麼,但其返回false;

更新:試圖做到這一點在SQL

只是在當我試圖做到這一點在mysql中我得到一個錯誤發現

#1582 - Incorrect parameter count in the call to native function 'md5' 

難道這意味着你不能MD5多行?如果是的話,我該如何做到這一點!

更新:它再次在where子句中返回false

$this->db->select('md5(id,email) as token'); 
$this->db->where('token', $token); 
$this->db->limit(1); 
$result = $this->db->get('table->customers'); 
+0

的MD5函數需要一個輸入字符串作爲參數,和MySQL把它看作你路過2.我在此發表評論,而不是一個答案,因爲我不能在此刻測試它,但你可以嘗試'concat()'產生的MD5(CONCAT(id,email))'會產生一個字符串。在實踐中它的工作原理是另一回事 – gabe3886

回答

1

嘗試CONCAT。

$this->db->where("md5(CONCAT(id,email)) = '".$token."'"); 
+0

工作感謝:) – Ash