2013-03-17 73 views
0

我:SQL:SELECT二进制值

$token = sha1(uniqid(mt_rand(), true)); 

然后,我将它插入使用unhex('$token')数据库。我如何选择这个值?

我已经试过:

SELECT token FROM `name` WHERE `id` = 1 LIMIT 1 

如果我赞同它就会显示为0b7GÞ÷:‹xcÅ•½JAjdäáæ而不是像5dc012f007b7c4db7b9e076138fdd92fa1039530

我在做什么错?

+0

_“我在做什么错了?”_ - 怎么样:您首先使用UNHEX?我的意思是,你该怎么做?如果你真的认为这是必要的 - 为什么你没有阅读手册中有关UNHEX的“逆向”功能? – CBroe 2013-03-17 00:36:20

+0

@CBroe http://stackoverflow.com/questions/614476/storing-sha1-hash-values-in-mysql – ditto 2013-03-17 00:39:36

回答

1

我不认为你需要用UNHEX来存储它,但你可以SELECT HEX(token)找回原来的值。

+0

我想到了不久前我必须做“HEX(令牌)作为令牌”,而忽略了令牌导致了一个未定义的索引错误。谢谢。 :) – ditto 2013-03-17 00:37:29