首页 > 解决方案 > 为什么我的输入表单在我的表格中找不到与我的搜索匹配的用户?

问题描述

我正在尝试创建一个 PHP 搜索,该搜索通过我的表(用户)查找并找到与他们搜索的名称匹配的用户并将其显示在屏幕上。但是程序不会显示我搜索的用户,我不知道为什么。变量全部签出,我没有拼错代码或表格中的任何内容。我的ifelse语句告诉我没有查询结果,即使表中的用户和我搜​​索的用户相同。我正在使用PHPMyAdmin来管理表格并查看表格的更改(如果有的话)。我想要的结果是让程序在页面上显示用户和电子邮件。我找不到解决方案,所以如果你能告诉我!addnone.php

<?php
include_once 'includes/db_connect.php';
?>
<!DOCTYPE html>
<html>
<head>
<title>SCIENCE FAIR</title>
<link rel="stylesheet" href="style.css">
    <section class="container grey-text">
    <form class="white" action="addnone.php" method="POST">
    <tr>
        <label>First Name:</label>
        <td><input type="text" name="firstname" placeholder="First Name"></td></br>
    </tr>
        <div class="center">
            <td colspan="2"><input type="submit" name="submit" value="Search"></td>
        </div>
    </form>
<div class="box">
   <?php
    if (isset($_POST['submit'])) {
        $firstname = $_POST['firstname'];
        $sql = "SELECT * FROM users WHERE name = '%$firstname%'";
        $result = mysqli_query($conn, $sql);
        $queryResult = mysqli_num_rows($result);

        if ($queryResult > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
                echo "<div>
                <p>".$row['name']."<p>
                <p>".$row['email']."<p>
                </div>";
            }
        } else {
            echo "No users with name $firstname!";
        }
    }
    ?>
</div>
</section>
</html>

db_connect.php

<?php

$dbServername = "localhost";
$dbUsername = "scifair";
$dbPassword = "password";
$dbName = "scifair";
// connect to database
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

// check connection
if(!$conn){
    echo 'Connection error: ' . mysqli_connect_error();
}
?>

标签: phphtmlsql

解决方案


使用“喜欢”运算符

$sql = "SELECT * FROM users WHERE name LIKE '%$firstname%'";

推荐阅读