iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >使用 PHP 和 MySQL 设置搜索系统
  • 812
分享到

使用 PHP 和 MySQL 设置搜索系统

2024-02-27 20:02:53 812人浏览 八月长安
摘要

本文将介绍如何使用 PHP 和 Mysql 创建一个搜索系统。你将学习如何设置 html、mysql 数据库和 php 后端。在 PHP 代码中,你将学习在 sql 中使用带有 LIKE 运算符的准备好

本文将介绍如何使用 PHPMysql 创建一个搜索系统。你将学习如何设置 htmlmysql 数据库php 后端。在 PHP 代码中,你将学习在 sql 中使用带有 LIKE 运算符的准备好的语句。


设置数据库

下载并安装 XAMPP 服务器。它与 MySQL 一起提供。在 XAMPP 控制面板中启动 shell。使用以下命令登录 MySQL shell:


# This login command assumes that the
# passWord is empty and the user is "root"
mysql -u root -p

使用以下 SQL 查询创建一个名为 fruit_db 的数据库。


CREATE database fruit_db;

输出:


Query OK, 1 row affected (0.001 sec)

你将需要可以使用的示例数据。因此,在 fruit_db 数据库上执行以下 SQL:


CREATE TABLE fruit
(id INT NOT NULL AUTO_INCREMENT,
 name VARCHAR(20) NOT NULL,
 color VARCHAR(20) NOT NULL,
 PRIMARY KEY (id))
 ENGINE = InnoDB;

输出:


Query OK, 0 rows affected (0.028 sec)

检查表的结构:


DESC fruit;

输出:


+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | NO   |     | NULL    |                |
| color | varchar(20) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

建立表后,使用以下 SQL 插入示例数据:


INSERT INTO fruit (id, name, color) VALUES (NULL, 'Banana', 'Yellow'), (NULL, 'Pineapple', 'Green')

输出:


Query OK, 2 rows affected (0.330 sec)
Records: 2  Duplicates: 0  Warnings: 0

使用以下 SQL 确认数据存在:


SELECT * FROM fruit;

输出:


+----+-----------+--------+
| id | name      | color  |
+----+-----------+--------+
|  1 | Banana    | Yellow |
|  2 | Pineapple | Green  |
+----+-----------+--------+

创建 HTML 代码

搜索系统的 HTML 代码是一个 HTML 表单。该表单有一个表单输入和一个 submit 按钮。表单输入中的 required 属性确保用户在表单中输入内容。

下一个代码块是搜索表单的 HTML 代码。


<main>
	<fORM action="searchdb.php" method="post">
		<input
			type="text"
			placeholder="Enter your search term"
			name="search"
			required>
		<button type="submit" name="submit">Search</button>
	</form>
</main>

下面的 CSS 使表单更美观。


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	display: grid;
	align-items: center;
	place-items: center;
	height: 100vh;
}

main {
	width: 60%;
	border: 2px solid #1560bd;
	padding: 2em;
	display: flex;
	justify-content: center;
}

input,
button {
	padding: 0.2em;
}

HTML 应该类似于你的网络浏览器中的下一个图像。

在 mysql 中搜索 php - HTML 搜索表单


创建 PHP 代码

PHP 代码将处理表单提交。以下是代码工作原理的摘要:

  1. 检查用户提交的表单。
  2. 连接数据库。
  3. 转义搜索字符串并去除所有的空白。
  4. 检查无效字符,如 <-(不带引号)。
  5. 通过准备好的语句执行搜索。
  6. 返回结果。

下一个代码块是执行搜索的完整 PHP 代码。将代码保存在名为 searchdb.php 的文件中。


<?php
    if (isset($_POST['submit'])) {
        // Connect to the database
        $connection_string = new mysqli("localhost", "root", "", "fruit_db");
        
        // Escape the search string and trim
        // all whitespace
        $searchString = mysqli_real_escape_string($connection_string, trim(htmlentities($_POST['search'])));

        // If there is a connection error, notify
        // the user, and Kill the script.
        if ($connection_string->connect_error) {
            echo "Failed to connect to Database";
            exit();
        }

        // Check for empty strings and non-alphanumeric
        // characters.
        // Also, check if the string length is less than
        // three. If any of the checks returns "true",
        // return "Invalid search string", and
        // kill the script.
        if ($searchString === "" || !ctype_alnum($searchString) || $searchString < 3) {
            echo "Invalid search string";
            exit();
        }

        // We are using a prepared statement with the
        // search functionality to prevent SQL injection.
        // So, we need to prepend and append the search
        // string with percent signs
        $searchString = "%$searchString%";

        // The prepared statement
        $sql = "SELECT * FROM fruit WHERE name LIKE ?";

        // Prepare, bind, and execute the query
        $prepared_stmt = $connection_string->prepare($sql);
        $prepared_stmt->bind_param('s', $searchString);
        $prepared_stmt->execute();

        // Fetch the result
        $result = $prepared_stmt->get_result();

        if ($result->num_rows === 0) {
            // No match found
            echo "No match found";
            // Kill the script
            exit();

        } else {
            // Process the result(s)
            while ($row = $result->fetch_assoc()) {
                echo "<b>Fruit Name</b>: ". $row['name'] . "<br />";
                echo "<b>Fruit Color</b>: ". $row['color'] . "<br />";

            } // end of while loop
        } // end of if($result->num_rows)

    } else { // The user accessed the script directly

        // Tell them nicely and kill the script.
        echo "That is not allowed!";
        exit();
    }
?>

下一张图片包含搜索字符串 pine 的结果。它返回水果 pine 及其颜色。

search php in mysql - 字符串 pine 的搜索结果

您可能感兴趣的文档:

--结束END--

本文标题: 使用 PHP 和 MySQL 设置搜索系统

本文链接: https://www.lsjlt.com/news/569109.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用 PHP 和 MySQL 设置搜索系统
    本文将介绍如何使用 PHP 和 MySQL 创建一个搜索系统。你将学习如何设置 HTML、MySQL 数据库和 PHP 后端。在 PHP 代码中,你将学习在 SQL 中使用带有 LIKE 运算符的准备好...
    99+
    2024-02-27
  • 如何解决win10系统设置搜索不到问题
    这篇文章主要介绍了如何解决win10系统设置搜索不到问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。点击任务栏中的小娜按钮,在弹出的搜索框中输入:控制面板 点击打开控制面板...
    99+
    2023-06-28
  • 如何使用PHP开发点餐系统的菜品搜索功能?
    如何使用PHP开发点餐系统的菜品搜索功能?简介:随着科技的发展和人们生活水平的提高,越来越多的餐厅开始引入点餐系统,以提高效率和满足顾客的需求。而菜品搜索功能作为点餐系统的核心功能之一,必不可少。本文将介绍如何使用PHP开发点餐系统的菜品搜...
    99+
    2023-11-02
    PHP(开发语言) 点餐系统(应用场景) 菜品搜索(功能需求)
  • Win10系统将搜索按钮变成搜索栏不用再点一次搜索按钮
    体验了win10系统的朋友都知道在Win10系统任务栏多了一个搜索按钮,这使用户们使用搜索更加方便,而今天小编要分享的是将搜索按钮变成搜索栏的技巧,让用户在搜索栏中直接输入要搜索的信息,而不用再点一次搜索按钮了,有兴趣的...
    99+
    2023-06-09
    Win10 搜索按钮 搜索栏 按钮 搜索 系统
  • 如何使用elasticsearch搭建自己的搜索系统
    这期内容当中小编将会给大家带来有关如何使用elasticsearch搭建自己的搜索系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是e...
    99+
    2024-04-02
  • win8.1系统本地搜索无法使用怎么办
    这篇文章给大家分享的是有关win8.1系统本地搜索无法使用怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。按win+r打开运行窗口,输入regedit,回车即可。打开注册表编辑器,依次展开:“HKEY_CUR...
    99+
    2023-06-28
  • MySQL 实现点餐系统的菜品搜索功能
    MySQL 实现点餐系统的菜品搜索功能,需要具体代码示例标题:MySQL 实现点餐系统的菜品搜索功能在点餐系统中,菜品搜索功能是非常重要且常见的功能之一。借助MySQL数据库的强大功能,我们可以轻松地实现菜品搜索功能,为用户提供更快捷、更方...
    99+
    2023-11-01
    MySQL 点餐系统 菜品搜索
  • C++实现LeetCode(642.设计搜索自动补全系统)
    [LeetCode] 642. Design Search Autocomplete System 设计搜索自动补全系统 Design a search autocomplete s...
    99+
    2024-04-02
  • Win8.1 Update怎么设置电源键和搜索按钮
    微软最新的Win8.1 Update怎么设置电源和搜索按钮。其中,这枚电源按钮也极大方便传统桌面用户的日常使用,例如关机、重启或者睡眠。 如果你是一名追求功能齐全的Win8.1用户,希望在Win8.1 Update电源按...
    99+
    2023-06-04
    Update 电源 按钮 搜索 Win8.1
  • 如何使用 PHP 实现搜索功能
    通过以下步骤实现 php 搜索功能:建立数据库连接定义搜索查询(使用 like 运算符)执行查询并获取结果显示搜索结果(按用户输入的搜索词筛选) 如何使用 PHP 实现搜索功能 搜索功...
    99+
    2024-05-02
    搜索 php mysql
  • win10系统搜索功能不能用怎么办
    这篇文章主要介绍了win10系统搜索功能不能用怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。按win+r打开运行窗口,输入services.msc回车,打开服务窗口。在...
    99+
    2023-06-28
  • 如何使用Redis和PHP开发分布式搜索功能
    如何使用Redis和PHP开发分布式搜索功能分布式搜索是现代互联网应用中非常常见的需求之一,它能够帮助用户快速准确地搜索到所需要的信息。其中,Redis是一个非常快速且灵活的内存数据库,而PHP是一种广泛应用于Web开发的脚本语言。本文将介...
    99+
    2023-10-22
    PHP redis 分布式搜索
  • 配置Windows 7/8系统搜索的具体操作方法
    1、Win7下面:搜索栏输入search ===>点击 Indexing Options 2、Win8下面 先点下搜索框,激活搜 高级选项--->改变索引位置 点击修改按钮,索引位置上面要搜索的地方打勾 ...
    99+
    2023-05-31
    Windows7 Windows8 搜索 系统 Windows 方法
  • Windows和Linux系统下mysql编码设置方法
    本篇内容介绍了“Windows和Linux系统下mysql编码设置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • 如何在PHP中使用ElasticSearch实现搜索
    这篇“如何在PHP中使用ElasticSearch实现搜索”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在PHP中使用E...
    99+
    2023-06-05
  • mysql+mybatis下全文搜索的使用方法
    第一步在你的需要全文搜索的列上点击 全文搜索full text类型索引,注意我的例子是该列是个longText类型的列 第一步建立fulltext类型索引如下图 索引类型选择fu...
    99+
    2024-04-02
  • 学校管理系统的MySQL表结构设计:主键和索引的使用建议
    学校管理系统的MySQL表结构设计:主键和索引的使用建议近年来,随着信息技术的普及,学校管理系统在教育领域得到了广泛应用。一个健壮和高效的学校管理系统离不开合理的数据库设计。MySQL作为一种流行的关系型数据库管理系统,具有良好的性能和可扩...
    99+
    2023-10-31
    MySQL表结构设计 学校管理系统 主键和索引建议
  • Go语言如何实现云上搜索和推荐系统?
    随着云计算技术的不断发展和普及,云上搜索和推荐系统也越来越得到了人们的青睐。而针对这一需求,Go语言也提供了很好的解决方案。在Go语言中,我们可以利用其高速的并发处理能力和丰富的标准库实现一个高效的云上搜索和推荐系统。下面将介绍Go语言如何...
    99+
    2023-05-17
    推荐系统 Go语言 云上搜索
  • 电脑如何设置始终搜索文件名和内容
    这篇“电脑如何设置始终搜索文件名和内容”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑如何设置始终搜索文件名和内容”文章吧...
    99+
    2023-06-27
  • java-php-python-ssm社交物联网的服务搜索系统计算机毕业设计
    java-php-python-ssm社交物联网的服务搜索系统计算机毕业设计 java-php-python-ssm社交物联网的服务搜索系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:i...
    99+
    2023-09-29
    java spring boot mybatis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作