2
我試圖使用地穴功能的數據庫來驗證用戶的詳細信息:Perl的地穴看似不工作
my $sql = $dbh->prepare("SELECT COUNT(id) FROM tblUsers WHERE UPPER(Username)=UPPER(?) AND Password=?");
my $count;
$sql->execute(
$args{login_username},
crypt($args{login_password},$args{login_username})
);
但它返回0行(與密碼完全正確)
行:
$sql->execute($args{login_username},$args{login_password});
完美地工作。
任何想法可能會出錯?
密碼是否存儲在你的數據庫中的crypt? (看起來不像。) – Mat 2012-04-13 06:15:16
你怎麼知道它「絕對」正確?從Perl程序中輸出加密的字符串。用手比較數據庫中的記錄。 – 2012-04-13 07:01:11
@brian:當他說替代的'execute'行完美工作時,我認爲它的密碼字段未加密。 – Borodin 2012-04-13 07:13:18