Home  >  Article  >  Backend Development  >  Application of SELECT query_PHP tutorial

Application of SELECT query_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:01:111265browse

For example, we want to find all articles containing the word "MySQL" from the titles of many articles. This means "LIKE" should be used in the WHERE clause, which is a fuzzy query.

First, let’s explain the wildcards in the SQL language. The wildcards use one character to uniformly match any character. In SQL, a character "_" matches any single character; a character "%" matches any character. Zero to more characters. For example, "A_" can match "AA", "AB", "A2", "A$", etc.; and "A%" can match "ABCD", "A", "AG$Bng0 ","An apple is just an apple."...and so on.

How to use it? Let’s take a practical example: There are many things in the factory warehouse and they are very complicated. They need to be divided into several categories for management: for example, category A represents machine accessories, category B represents tools, category C represents packaging materials...etc., each Things under a category are numbered separately, such as "A0001", "A1065", "B1014", etc. When managing this database, the number is used as a field. This field not only serves as the code name of the item, but also indicates its category. When you want to query all tools, you can do this:
SELECT * FROM goods WHERE code LIKE 'B%' ORDER BY code'
This is to query all records whose code field (that is, the number) starts with the letter B . Note that 'B%' here means that the letter B appears at the beginning of the field, which is different from the next example: find all articles containing the word "MySQL" in the article title, because the target "MySQL" to be searched does not necessarily appear in the article title at what position, so it should be:
SELECT * FROM articles WHERE title LIKE '%MySQL%'
'%MySQL%' means that the word "MySQL" appears in the title, and there may be text in front of it , there may also be text behind it.

Since it is possible to search for "MySQL", it is not impossible to search for other words. You can let the viewer enter the keywords he wants to search for, just like this:


Keyword:


...
$query="select * from article where title like '%$key%'";
$result=$mysql_query($query,$db);
...
?>
Note that when using fuzzy query, there is a situation where you should be careful, that is, when a field is similar to ' For values ​​like 2,13,25,33', if you want to query whether it contains the item '2', you cannot simply use '%2%' to query. Because if so, a value like this will also be queried: '1,6,21,27'. This is not what we want. So when dealing with such a problem, this field should be stored in the form of '.2.13.25.33.' In this way, when you need to query records containing the item '2', you can safely use '%.2.%'.
 

I was in a hurry and drafted it hastily; please correct me if there is any inaccuracy.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631172.htmlTechArticleFor example, we want to find all articles containing the word "MySQL" from the titles of many articles. This means "LIKE" should be used in the WHERE clause, which is a fuzzy query. First, explain the SQL language...
Statement:
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