【问题标题】:Can't find the values of my variable找不到我的变量的值
【发布时间】:2015-01-25 20:20:35
【问题描述】:

所以我有一个登录页面,我正在尝试显示我创建的 $usercheck$passwordcheck 的值,但它们不会显示

<?php 
 include_once ('includes/head.php');
if(isset($_POST["login"])) {
    $email = $_POST["email"];
    $password = $_POST["password"];

    $query = $pdo->prepare("SELECT `id`, `password`, `email` FROM `users` WHERE `email` = :email AND `password` = :8gEwsko93_37554d ORDER BY `id` LIMIT 1");
    $query->bindValue(":email", $email);
    $query->bindValue(":8gEwsko93_37554d", $password);
    $query->execute();

    $passwordcheck = $query->fetch(PDO::FETCH_ASSOC);

    if($query->rowCount() == 0){
    echo "No user";
    } else {
    if($passwordcheck == $password) {

    $query = $pdo->prepare("SELECT * FROM `users` WHERE `email` = :email AND `password` = :8gZwsZo93_3Z5Zs4d ORDER BY `id` LIMIT 1");
    $query->bindValue(":email", $email);
    $query->bindValue(":8gZwsZo93_3Z5Zs4d", $password);
    $query->execute(); 

    $usercheck = $query->fetch(PDO::FETCH_ASSOC);
    print_r($passwordcheck);
    var_dump($usercheck);
    }
 }

}
?>

【问题讨论】:

  • 你试过在床底下看吗?
  • 这是玩笑还是? @TheBlueDog
  • 是的,对不起'回合... :)
  • 你的代码卡在哪里了?你的输出是什么?你期待什么?
  • 我希望返回表的值@MarcoAurélioDeleu

标签: php mysql database pdo


【解决方案1】:

在您的示例中的第 17 行,您正在比较 $passwordcheck,这是 $query-&gt;fetch() [因此可能是一个数组,因为它获取整行] 与 $password,这是字符串的结果。对于非空$password,这样的比较总是错误的。因此,您的print_r() 部分永远不会到达。

【讨论】:

    【解决方案2】:

    请更改

    if($passwordcheck == $password)
    

       if($passwordcheck['password'] == $password)
    

    “密码”是列名

    【讨论】:

    • 如果这解决了您的问题,您应该将此答案标记为解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2020-06-13
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    相关资源
    最近更新 更多