php - 为什么我的输入表单在我的表格中找不到与我的搜索匹配的用户?
问题描述
我正在尝试创建一个 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();
}
?>
解决方案
使用“喜欢”运算符
$sql = "SELECT * FROM users WHERE name LIKE '%$firstname%'";
推荐阅读
- spring-boot - Neo4J 连接在 Spring Boot 2.2.4 中超时,但在 2.0.5 中没有
- excel - 根据搜索条件查找列名
- python - TypeError:必须是 str,而不是 Statement
- html - 自定义模块内资源的路径
- group-by - 在 SSRS 报告中每页显示 20 条记录
- handlebars.js - jsreport 车把引擎和 xlsx 配方:如何用颜色填充单元格
- python - IndexError:未提供参数时列表索引超出范围
- html - 如何根据里面的内容为盒子的高度设置动画?
- python - 烧瓶 API。加载状态响应
- php - 使用 PHP 将 .docx 文件发送到浏览器