我想將數據庫中明文形式的字符串與散列爲MD5()
的字符串進行比較。我試圖做這樣的事情:當我試圖在SQL中進行散列時出現錯誤
SELECT member_email, is_validated FROM members
WHERE CONVERT(VARCHAR(32), HASHBYTES('MD5', 'member_email'), 2) = '".$_GET['vy']."'
AND is_validated = '0'
但我得到You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR(32), HASHBYTES('MD5', 'member_email'), 2) = '' AND is_valida' at line 2
。如果我刪除''member_email'
因此它的HASHBYTES('MD5', member_email)
我會得到相同的錯誤信息。怎麼了?我是否必須將MD5哈希放在數據庫中,以便將其與$_GET['vy']
中的相同MD5哈希進行比較?
在此先感謝!
不是lenght?如果你改變(轉換(255)(varchar,GETDATE(),102)) – 2012-03-28 17:33:28