Home > Backend Development > PHP Problem > How to implement keyword search for mysql data in php

How to implement keyword search for mysql data in php

PHPz
Release: 2023-04-19 09:31:47
Original
972 people have browsed it

With the development of the Internet, search engines have become one of the main ways for people to obtain information. In website development, implementing keyword search functions has gradually become a necessary requirement. This article will introduce how to use the PHP language to implement the function of keyword search for MySQL data.

1. Preparation work

Before we start writing code, we need to do some preparation work. First, we need to make sure we already have a mysql database with some data in it.

Next, create a test data table in the mysql database. We can use the following SQL statement to create a data table named "test":

CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
content text NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT =1 DEFAULT CHARSET=utf8mb4;

This data table contains three fields: id, title and content. Among them, the id field is an auto-incrementing field and is used to uniquely identify each piece of data. The title field represents the title of the data, and the content field represents the content of the data.

2. Implement the search function

Generally speaking, the keyword search function can consist of two steps: input keywords and query data. In php, we can implement the search function by getting the keywords entered by the user and matching them with the data in the database.

1. Get the keywords entered by the user

First, we need to add a form containing an input box and a submit button to the page to receive the keywords entered by the user. The code is as follows:




This form contains a text box and a submit button. When the user clicks the submit button, the form will submit the keywords entered by the user to a PHP file named "search.php" for processing.

In the file named "search.php", we need to first obtain the keywords entered by the user. The code is as follows:

$keyword = $_GET['keyword'];

This code uses PHP's built-in $_GET variable to obtain the file submitted to "search.php" in GET mode data in. In this example, the keyword entered by the user is stored in the $keyword variable.

2. Query data

After obtaining the keyword entered by the user, we need to query the data containing the keyword in the mysql database. The code is as follows:

//Connect to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = " dbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $ conn->connect_error);
}

//Query data
$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%' ";
$result = $conn->query($sql);

// Output result
if ($result->num_rows > 0) {
while( $row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Copy after login
Copy after login

}
} else {
echo "No relevant data found";
}

here In this code, we first connected to the mysql database and used PHP's built-in mysqli class to execute SQL query statements. The SQL statement uses the LIKE operator to match data containing $keyword in the title and content fields.

Next, we used PHP’s built-in query() method to execute the above SQL statement and save the result in the $result variable. If the data is queried, use a while loop to output each piece of queried data to the page in turn.

If no relevant data is found, the prompt message "No relevant data found" will be output.

3. Complete code

By combining the codes of the previous two steps, the search function can be completely realized. The complete php code is as follows:

$keyword = $_GET['keyword'];

$servername = "localhost";
$username = " username";
$password = "password";
$dbname = "dbname";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query($sql);

if ($result->num_rows > ; 0) {
while($row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Copy after login
Copy after login

}
} else {
echo "No relevant data found";
}

$conn->close();
?>

4. Summary

Through the introduction of this article, we have learned how to use the php language to implement the function of keyword search for mysql data. In the process of implementing this function, we need to master how to obtain user input data, how to connect to the database, how to execute SQL query statements and output the queried data to the page.

In actual website development, the implementation of search functions is often more complicated. We need to comprehensively use multiple languages ​​​​and technologies such as php, mysql, javascript, etc. to complete this task. However, after mastering the basic search function implementation methods, we can better understand and participate in more complex website development.

The above is the detailed content of How to implement keyword search for mysql data in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template