if ,true,false,return value.
php
php之SQL语句中的模糊查找 html
主要经过LIKE(不区分大小写)关键字实现模糊查找。LIKE条件通常用在指定搜索某字段的时候, 经过"%"或者" _" 通配符的做用实现模糊查找功能,通配符能够在字段前面也能够在后面或先后都有。只经过LIKE是没法实现模糊查找的,所以通配符的做用不可忽略。 mysql
下面是三个实例:
搜索以PHP开头:
SELECT * FROM table WHERE title LIKE 'PHP%'
搜索以PHP结束:
SELECT * FROM table WHERE title LIKE '%PHP'
搜索包含PHP100:
SELECT * FROM table WHERE title LIKE '%PHP%'
注:%表示0个或多个字符构成的字符串,_表示单个字符,相似于正则表达式中元字符的做用
在LIKE后面能够增长其余条件,相似于if语句
例子的数据库中的内容
- <?php
- $conn = @mysql_connect("localhost", "root", "") or die("数据库连接错误");
- mysql_select_db("bbs", $conn);
- mysql_query("set names 'GBK'"); //使用GBK中文编码;
-
- if($_GET['key']) {
-
- $sql = "SELECT * FROM `text` WHERE content LIKE '%$_GET[key]%'";
- $query = mysql_query($sql);
-
- while($r=mysql_fetch_array($query)) {
- echo "$r[content]"."<br>";
- }
- }
-
- ?>
-
- <html>
- <body>
- <form action="" method="get">
- 关键字:
- <input type="text" name="key" />
- <input type="submit" name="sub" value="搜索" />
- </form>
- </body>
- </html>
搜索php的效果图
2、多个关键字搜索的原理和技巧
单个关键字搜索的步骤:提交表单->PHP文件接收关键字->执行SQL->输出结果
若是是多关键字的时候:在提交表单的时候将多个关键字用空格或+号分隔开,而后PHP文件接收到所提交的字符串后,经过一些函数如:explore函数将字符串拆分红多个关键字存放在数组中;而后就能够在数据库中经过多个LIKE模糊查找获得所要查找的内容。
3、替换关键字高亮显示
经过模糊查找获得所要的内容后,使用正则表达式替换所要查找的内容,能够经过改变颜色,加粗等改变显示的效果。
- <?php
- $conn = @mysql_connect("localhost", "root", "") or die("数据库连接错误");
- mysql_select_db("bbs", $conn);
- mysql_query("set names 'GBK'"); //使用GBK中文编码;
-
- if($_GET['key']) {
- $k = explode(" ", $_GET[key]);
-
- $sql = "SELECT * FROM `text` WHERE content LIKE '%$k[0]%' or content LIKE '%$k[1]%'";
- $query = mysql_query($sql);
-
- while($r=mysql_fetch_array($query)) {
- $r[content] = preg_replace("/($k[0])/i", "<font color=red><b>\\1</b></font>", $r[content]);
- $r[content] = preg_replace("/($k[1])/i", "<font color=red><b>\\1</b></font>", $r[content]);
- echo "$r[content]"."<br>";
- }
- }
-
- ?>
-
- <html>
- <body>
- <form action="" method="get">
- 关键字:
- <input type="text" name="key" />
- <input type="submit" name="sub" value="搜索" />
- </form>
- </body>
- </html>
固然熟练掌握PHP,要多练习代码,PHP也有许多集成开发环境,也能够实现许多软件项目