2013-03-17 72 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