php - 找不到我的变量的值

标签 php mysql database pdo

所以我有一个登录页面,我试图显示我制作的 $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);
    }
 }

}
?>

最佳答案

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

关于php - 找不到我的变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28141039/

相关文章:

php - MYSQL 支持面向对象数据库吗?

Mysql查询多表获取数据

php - MySQL - 这个查询可以简化吗? - 子选择

mysql - 在网络服务器上的文件系统上存储图像的位置

javascript - 在javascript中选择下拉列表时如何显示加载图像

php - 考虑用户访问级别,为聊天室应用程序中的每个用户分配空间

sql - 如何使用自动增量列在 Snowflake 中创建 View

php - 将 SQL 查询转换为 Laravel 5.2?

php - php中utf-8编码的问题

php - 保存上传的媒体内容