1

我有点困惑。当我在下面执行此操作并且用户名是 test@test.com 时,即使记录存在,它也不会找到任何东西。我意识到我需要添加引号,但我不知道在哪里,有人可以指出这一点。

   $stmt = $db->prepare("SELECT USER_ID, USERNAME, PASSWORD, SALT, EMAIL FROM USERS WHERE     USERNAME = :username LIMIT 1");
    $stmt->bindValue(':username', $username); 
    $stmt->execute(); 
    $results = $stmt->fetch(PDO::FETCH_ASSOC);

非常感谢

编辑:如下所述,我也尝试过 bindParam 。

编辑2:解决了-我已经解决了!我在数据库中查看错误的列,对不起,伙计们/女孩们,这是一个漫长的夜晚:(感谢您的帮助!

4

1 回答 1

0

我想,该username列类似于test,并且该email列具有 value test@test.com

如果您测试test@test.com,我怀疑您必须与email列进行比较

SELECT USER_ID, USERNAME, PASSWORD, SALT, EMAIL FROM USERS WHERE EMAIL = :username LIMIT 1

如果你真的想测试用户名,$username大概应该是test.

于 2013-03-21T21:35:48.543 回答