我試圖從中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')");
我試圖從中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')");
也許引號搞砸。試試這個:
("SELECT * FROM users WHERE email = '".base64_decode($email)."'");
這可能是因爲你在這裏沒有調用base64_decode
PHP函數,只需傳遞字符串到mysqld的。順便提一句,在mysql中有一個md5
函數,所以這就是爲什麼你的工作。
做到了,非常感謝。看起來很奇怪,但它與md5引用的額外內容一起工作。無論如何,我真的很喜歡它。 :D – user1557515 2012-07-28 10:54:42
@ complex857解釋了爲什麼它使用md5。 – uzyn 2012-07-28 10:55:20
@ user1557515:這是因爲MD5也是一個MySQL函數,所以它被識別出來。 base64_ *不是,並且需要在PHP中運行(即不在字符串內部)。如果這個答案對你有幫助,可以考慮點擊問題分數下的大勾號來接受它。 – 2012-07-28 10:56:18