Я хочу сравнить строку в виде открытого текста в базе данных со строкой, хэшированной с MD5()
.Я пытался сделать что-то вроде этого:
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
.Если я удалю 'in 'member_email'
, так что HASHBYTES('MD5', member_email)
, я получу то же сообщение об ошибке.В чем дело?Нужно ли помещать хеш MD5 в базу данных, чтобы сравнить его с тем же хешем MD5 в $_GET['vy']
?
Заранее спасибо!