PHP 如何做多个 where 条件?

nan*_*o05 1 php where-clause

这是我当前用于让用户登录的代码:

<?php
$uName = "";
$uNameMsg = "";
$pWord = "";
$pWordMsg = "";

if(isset($_POST["submit"])){
    $uName = $_POST["username"];
    if (empty($uName)) {
        $uNameMsg = "please enter a username<br/>";
    }

    $pWord = $_POST["password"];
    if (empty($pWord)) {
        $pWordMsg = "please enter a password<br/>";
    }
}

?>

//form goes here

<?php
    require_once("conn.php");
    $sql = "SELECT username, password FROM customers
            WHERE username = $uName 
            AND password = $pWord";
    $results = mysqli_query($conn, $sql)
    or die ('Problem with query' . mysqli_error($conn));
    if (mysqli_num_rows($results) < 1) {
        echo "invalid username and password";
    } else {
        echo "query success, redirect header goes here";
    }
?>
Run Code Online (Sandbox Code Playgroud)

我收到一个语法错误,说 'AND password =' 子句是错误的。然后它说错误位于第 3 行,即我的标记,而“AND 密码 =”位于第 75 行。

这是我从第 1 行开始的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Customer Login</title>
    <link rel="stylesheet" href="customerlogin.css">
</head>
Run Code Online (Sandbox Code Playgroud)

小智 5

你可以用这个。这肯定会奏效:

$sql = "SELECT username, password FROM customers
            WHERE username = '$uName' 
            AND password = '$pWord'";
Run Code Online (Sandbox Code Playgroud)