PHP+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊

PHP+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊,第1张

可以改成这样,$sql = "SELECT  FROM vegetable NATURAL JOIN book WHERE 农产品 like '"  $name  "%'";

模糊匹配中需要有%之类的通配符来表示$name以外部分的名字, 我写的列子中%的位置根据你的实际情况来定,放在$name前面,后面,或者前后都有

或者叫,分词检索数据库

$res

=

mysql_query("select

from

peter

where

id

like

'%中草药%'

and

'%6%'");

//这样写是报错的;

$res

=

mysql_query("select

from

peter

where

id

like

'%中草药%'

or

'%6%'");

//而这样写是正确的;奇怪~

$res

=

mysql_query("select

from

peter

where

id

like

'%中草药%'

and

id

like

'%6%'");

//这样写是正确的;

$res

=

mysql_query("select

from

peter

where

id

like

'%中草药%'

or

id

like

'%6%'");

//这样写都是正确的;

以上就是小编为大家带来的php

mysql

like

实现多关键词搜索的方法全部内容了,希望大家多多支持脚本之家~

有这样查询的吗?

你这样可以做,可对数据库会造成很大的压力。

在程序中将输入的“123”,转换为多个字符串:

"%1%" "%2%" "%3%" "%12%" "%13%" "%23%" "%123%"

然后:

构造

select from 数据表 where

(

检索字段 like "%1%"

or 检索字段 like "%2%"

or 检索字段 like "%3%"

or 检索字段 like "%12%"

or 检索字段 like "%13%"

or 检索字段 like "%23%"

or 检索字段 like "%123%"

)

即可。

三种方法:

一像你这种aa前后都是特殊字符,而且最外侧是双引号的可以直接写变量名

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%$var%'");

二也可以使用点连接符对字符串进行连接:

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%"  $var  "%'");

三可以使用{}代码域来分隔变量名,这种用法更适用于变量后有数字、字母、下划线的情况,它可以明确地将变量与字符串区分开来:

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%{$var}%'");

分太少了

实现无限分类,一个表搞定 表type

ID(主键) parentID(父级id) typeName(分类名) treeStr(树型字符串)

1 0 食品

2 1 肉类 1

3 2 猪肉 1,2

查询父级ID=1的全部子类SQL

SELECT bID FROM `type` as a, `type` as b where aparentID=1 and(bparentID=aID or bID=aID)

不用处理啊 ,我的就没问题

$query="select from 基础 where 物品名称 like '%"$finds1"%' and 规格 like '%"$finds2"%'and 物品分类 like '%"$finds3"%'and 存放地点 like '%"$finds4"%'";

请看你的这个语句:

<php

if(!empty($_POST['button'])){

    $xinming= $_POST['tiaojianchaxun'];

}

>

对变量$xinming的赋值是有条件的,你现在出错就是因为条件不满足没有对它赋值,而后面还是需要使用,建议你这个时候对else进行适当处理,例如可以考虑退出程序,例如:

<php

if(!empty($_POST['button'])){

    $xinming= $_POST['tiaojianchaxun'];

}else{

    exit("遇到问题了,无法执行。");

}

>

count($infos);就能够知道

$infos数组里有几个个数了

在这里不需要判断 遍历的时候有几个遍历几个 可以省去判断

解决方法:

$where = ' 1= 1';

foreach($infos as $key => $val){

if($key){

$where = 'or like %$key% ';

}

}

$sql = "select from table where 1=1 and info "$where" order by id desc"

以上就是关于PHP+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊全部的内容,包括:PHP+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊、php mysql like 实现多关键词搜索的方法、php+mysql模糊查询功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9529088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存