mysql语法错误,无法设法找到错误[重复]

我有一种通过电子邮件和密码来检索您的用户名的表格。在php代码中,我有一条sql语句,该语句从我的数据库中提取用户名,其中用户名和电子邮件和密码与用户键入的内容大致相同。 这是我的代码:

<?php

if(isset($_POST['username-reset-submit'])){

    require 'dbh-inc.php';

    $email = $_POST["email"];
    $password =  $_POST["password"];


    $sql = "SELECT uidUsers FROM users WHERE emailUsers = ? AND pwdUsers = ?;";

    $stmt = mysqli_stmt_init($conn);
    if(!mysqli_stmt_prepare($stmt, $sql)){
        header("Location:../forgot_username.php?error=sqlerror1");
        exit();
    }else{
        $hashedPwd = password_hash($password, PASSWORD_DEFAULT);
        mysqli_stmt_bind_param($stmt, "ss", $email, $hashedPwd);
        mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);

        if($resultCheck > 0){
            if($row = mysqli_fetch_assoc($result)){
                $name = $row['uidUsers'];
                echo "uesrname of this account: ".$name;
            }
        }else{
            echo "account not found";
        }
    }
    mysqli_stmt_close($stmt);
}

?>

我的问题:

I added the line mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); to report errors and I get these errors:

致命错误:mysqli_sql_exception未捕获:SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取在'?附近使用的正确语法。 AND pwdUsers =?'在文件:23的第1行中堆栈跟踪:#0文件(23):mysqli_query(Object(mysqli),'SELECT uidUsers ...')#1 {main}在第23行中抛出文件

*我将目录替换为“文件”,因此该错误更易于阅读。

变量似乎写正确,所以我不明白我的语法错误在哪里(因为错误状态)

评论