Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录php脚本无法从db调用信息_Php - Fatal编程技术网

登录php脚本无法从db调用信息

登录php脚本无法从db调用信息,php,Php,你好。 下面我有一个php脚本,用来查询我的数据库并查找用户详细信息。数据库已设置,其中的数据可用。这里的问题似乎是,一旦我用用户输入的详细信息单击submit按钮,第一个if语句就无法查看电子邮件是否存在。我不知道为什么。 但这是提交表格 <form action = "submit2.php" method="Post" > <div class="row form-group"> <div class="col-md-12">

你好。 下面我有一个
php
脚本,用来查询我的数据库并查找用户详细信息。数据库已设置,其中的数据可用。这里的问题似乎是,一旦我用用户输入的详细信息单击submit按钮,第一个if语句就无法查看电子邮件是否存在。我不知道为什么。 但这是提交表格

<form  action = "submit2.php"  method="Post" >
<div class="row form-group">
    <div class="col-md-12">
        <!-- <label for="email">Email</label> -->
        <input type="text" id="email"  name="email" class="form-control" placeholder="Your user name">
    </div>
</div>
<div class="row form-group">
    <div class="col-md-12">
        <!-- <label for="subject">Subject</label> -->
        <input type="text" id="password"  name="password" class="form-control" placeholder="Your Password">
    </div>
</div>
<div class="form-group">
    <input type="submit" value="Login" class="btn btn-primary">
</div></form>

这里是submit2.php,它应该操作表单中的数据并查询数据库

<?php
session_start();
require_once('connect.php');

if(isset($_POST) & !empty($_POST)){

$useremail = mysqli_real_escape_string($connection,$_POST['email']);
$userpassword = mysqli_real_escape_string($connection, $_POST['password']);


if (empty($useremail) || empty($userpassword)){
    header("Location: customerportal.php?login=empty");
    exit();
}
else{       
            $sql = "SELECT * FROM 'USERS' where EMAIL ='$useremail';";
            $emailresult = mysqli_query($connection, $sql);
            $emailresultcheck = mysqli_num_rows($emailresult);
            //check if email exists
            if($emailresultcheck == 0){
                header("Location: customerportal.php?login=invalidEmail");
            }
            else {                  
                if($row = mysqli_fetch_assoc($emailresult)){

                    //dehash the password
                    $hashedPWDCheck = password_verify($userpassword,$row['ENCRYPTEDPWD']);
                    if($hashedPWDCheck == false){
                        header("Location: customerportal.php?login=passwordincorrect");
                        exit();
                    }
                    elseif($hashedPWDCheck == true){
                        $_SESSION['email'] = $email;
                        // header("Location: Landingpage.php"); 
                        echo "Success";
                    }
            }

            else{
                header("Location: customerportal.php?login=invalid");   
                exit(); 
                }
            }               
}   
}   
?>
更改此选项

$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";
对此

$sql = "select * from users where email = $useremail";

好的,解决了这个问题,在我的每个变量上运行var_dump(),直到我遇到sql代码输出的错误。 在线

$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";
我必须删除“”并替换为“`”。 这似乎解决了问题


感谢大家的帮助。

执行var_转储($emailresultcheck)并共享输出。我运行了var_转储并获得了以下输出C:\wamp64\www\dhc sa\Submit2.php:16:Null,并尝试将变量名命名为camelcase,如$userEmail
$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";