PHP为某些用户正确访问MySQL数据库,其他用户遗漏了一些列

时间:2013-02-28 16:48:35

标签: php mysql missing-data

我对这里发生的事情感到茫然 - 因为根据我检查的用户,根本不一定有什么问题。这是有问题的数据库结构:

userID       password      salt
VARCHAR(7)   VARCHAR(64)   VARCHAR(64)

注意:密码 salt 是sha256哈希值。

相关代码(所有数据都通过SSL传输):

$pass     = $_POST['pass'];
$user     = $_POST['user'];

$query    = 'SELECT password, salt FROM `Passwords` WHERE userID="'.$user.'";';
$result   = mysql_query($query);

$passHash = mysql_result($result,0,"password");
$salt     = mysql_result($result,0,"salt");

$pass     = hash("sha256",$salt.$pass);

if($pass==$passHash) {/*Allow Login*/}

并非所有用户都选择了密码,而且我的组织历来使用邮政编码(我知道......)代替正确的密码,因此代码确实为此做了一些例外,但所有这些用户都可以登录就好了。它是(只有一些)密码无法登录的成员,因为 $ salt 由于某种原因返回空白(但我也没有收到任何MySQL错误)。我在运行调试尝试时通过phpMyAdmin检查了数据库,但是没有明显的错误。

任何想法为什么它会为某些用户而不是其他用户而空白?这是一个PHP问题,一个MySQL问题,还是我一个盲目的白痴问题?

0 个答案:

没有答案