2012-07-28 22 views
0

我試圖從中base_64編碼的MySQL表訪問數據訪問加密的數據,但我得到AA警告: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in......從MySQL表

當我嘗試使用MD5訪問MD5散列數據,它工作正常。我無法弄清楚。 下面的代碼:

("SELECT * FROM users WHERE email= base64_decode('$email')"); 

回答

3

也許引號搞砸。試試這個:

("SELECT * FROM users WHERE email = '".base64_decode($email)."'"); 
+0

做到了,非常感謝。看起來很奇怪,但它與md5引用的額外內容一起工作。無論如何,我真的很喜歡它。 :D – user1557515 2012-07-28 10:54:42

+0

@ complex857解釋了爲什麼它使用md5。 – uzyn 2012-07-28 10:55:20

+0

@ user1557515:這是因爲MD5也是一個MySQL函數,所以它被識別出來。 base64_ *不是,並且需要在PHP中運行(即不在字符串內部)。如果這個答案對你有幫助,可以考慮點擊問題分數下的大勾號來接受它。 – 2012-07-28 10:56:18

1

這可能是因爲你在這裏沒有調用base64_decode PHP函數,只需傳遞字符串到mysqld的。順便提一句,在mysql中有一個md5函數,所以這就是爲什麼你的工作。