php模糊查询
㈠ php 正则表达式 进行模糊查询
直接把http:\/\/改掉就行了吧
如:
$reg = "/<img[^>]*src=\"(D\:\\photo\\(.+)\.(jpg|gif|bmp|bnp))\"/isU";
没得测试.. 不知行不行.
㈡ php 模糊查询
你早就return了,还怎么得到结果,修改一下return的位置应该可以解决吧!如下:
function search($key){
$this->searcher = "select * from book where name like '%$key%'";
$result = mysql_query($this->searcher);
$num = mysql_num_rows($result);
for($i = 0;$i<$num;$i++)
{
$arr=mysql_fetch_array($result);
echo str_replace($key,"<font color=red>".$key."</font>",$arr[name])."<br>";
}
return $result;
}
㈢ php中if条件中可不可以用模糊查询 应该怎么写
你说的模糊查询我可以理解判断为对象字符串是否包含对比字符串吗?
stripos()-查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strpos()返回字符串在另一字符串中第一次出现的位置(对大小写敏感)。
if(strpos('abc','a')!==false){
echo'包含';
}else{
echo'不包含';
}
㈣ php 日期模糊查询
就是不管哪年,只要是元旦的数据就查询出来吗?
方法一、用函数判断年月
select * from table where month(time)=1 and day(time)=1
方法二、用函数把日期转换为文本后判断(各类数据库的转换函数可以有差异)
select * from table where to_char(time,'yymm')='0101'
或者
select * from table where date_format(time,'%m%d')='0101'
㈤ php如何模糊查询字符串 - 技术问答
唉,自己搞定了。function checkstr($str){ $needle = \"a\";//判断是否包含a这个字符 $tmparray = explode($needle,$str); if(count($tmparray)>1){ return true; } else{ return false; } } 到技术吧网站查看回答详情>>
㈥ php mysql 模糊查询
原谅我的看错.楼上的朋友.
不过就算你在头文件设了utf-8.就能保证数据库服务器->服务器->客户端都不乱码吗?Mysql我就不清楚了. mssql 就不一定啦. 如果是mssql我建议必须用函数编码.
另我感到怀疑的是楼上的同学 居 然 用 str_split() 函 数 去 拆 分 中 文 字 符 ....我没试过结果.如果结果可行.那使用楼上的同学的吧.毕竟比较简单.我这种比较保险.
瞧俺老孙的法宝.........BINGO 开始
html 页面
<input type=“text”>
<script>var url = "fuck.php?fuck=" + escape(document.getElementsByTagName("input")[0].value);
//传递和跳转的window函数我就不写了喔
</script>
php 页面
// php 解码函数
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,-4)),"gb2312","UCS-2");
elseif(substr($v,0,3) == "")
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,3,-1)),"gb2312","UCS-2");
elseif(substr($v,0,2) == "") {
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,2,-1)),"gb2312","UCS-2");
}
}
return join("",$ar);
}
// 这里法宝开始 完美解决每个汉字拆分出来
$arr = explode("u",$_GET["fuck"]); //是因为escape编码后每个汉字的开头都是u
$shit = "";
foreach($arr as $value)
{
$value = unescape($value);// 网上找到的php 解码函数
$shit .= "%".$value."%"; //字符串拼接好了可供查询了呵呵
}
$sql = "select * from table where con like ‘$shit’";
//或者 $shit = "'".$shit."'"; 然后$sql = "select * from table where con like“.$shit.;
xxsql_query($sql); // 大功告成! 后面的echo 自己喜欢怎样格式输出就输出呗.
㈦ php实现模糊查询
具体的错误信息是什么呢?光这样这样有些难查找
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
PHP 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
㈧ php+mysql模糊查询功能
一般模糊查询语句如下:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2,_ : 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;
3,[ ] :表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……
5,查询内容包含通配符时
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
㈨ php模糊查询中的%是什么意思
那个是通配符
表示匹配任意字符
abc%表示左边是abc,右边是任意字符
%abc表示左边是任意字符,右边是abc
abc%abc表示左右两边是abc,中间是任意字符
%abc%表示中间是abc,左右两边是任意字符
更正一个观念
确切的说不是php模糊查询中的%
而是sql语言中模糊查询中的%
sql是一种操作数据库的语言
无论什么数据库,他的sql语句都是大同小异
㈩ PHP模糊查询怎么实现
1.请注意php中的变量,始终以 $ 开头,你有好几处都没写正确
if(!empty($keyword)){
$conn=mysqli_connect(...);
if(mysqli_connect_errno()){
printf("连接失败:%s
",mysqli_connect_error());
exit();
}
$keyword=addslashes($keyword);
$sql="SELECT*FROMuserwhereusernameLIKE'%$keyword%'";
$result=mysqli_query($conn,$sql);
$user=array();
while($row=mysqli_fetch_assoc($result))
{
$user[]=$row;
}
mysqli_free_result($result);
mysqli_close($conn);
}