⑴ sql 模糊查询方法 sql语句里like有没有反向用法
你的意思是不是aaabbbcccddd是一个字符串,str1是你表里的一个字段名,它里边有'aaa','bbb','ccc'这些值,你要判断str1的值是不是在字符串里?
sql server可以用这个函数charindex(str1,'aaabbbcccddd')>0表示就含有,返回的是子字符串的位置从零开始。
oracle里是(str1,'aaabbbcccddd')>0意义相同.
⑵ 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+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊
可以改成这样,$sql="SELECT*农产品like'".$name."%'";
模糊匹配中需要有%之类的通配符来表示$name以外部分的名字,我写的列子中%的位置根据你的实际情况来定,放在$name前面,后面,或者前后都有
⑷ php通过mysql like搜索关键词查询,所有符合数据遍历出来
<?php
header('content-type:text/html;charset=utf-8');
$search=$_POST['wd'];
$sql="SELECT*FROMtableWHEREtitleLIKE'%$search%'";
$r=mysql_query($sql);
$result=[];
//迭代取出数据
while(true){
$data=mysql_fetch_assoc($r);
if($data){
$result[]=$data;
}else{
break;
}
}
echo'<pre>';
print_r($result);
echo'</pre>';
⑸ thinkphp sql 条件like怎么写
$info = $obj->where("name like '%{$name}%' ")->select();
⑹ php sql模糊查询问题
最外面的引号不用解释撒。
like后面有个单引号 这是sql语句的标准 like ‘ ’
然后还有两个" 这是不好说的呢,你看 这儿相当于三个字符串连接起来的,第一个:"select * from book where bookname like '%" 第二个:trim($txt_book) 第三个:"%'" 。是吧,这个字符串两边该有"不需要解释撒
⑺ sql里面like语句可以直接使用把like语句辅助到php里面就不能正常查找到数据了
也可能是你文件编码的问题,
mysql_query(set names XX);
和你的文件的编码要一致
⑻ php+mysql+like+通配符+变量
<?php
//设置级别错误,通知类除外
error_reporting('E_ALL&~E_NOTICE');
/**1---传入页码,使用GET获取**/
$page=$_GET['p'];
/**2---根据页码取出数据:php->mysql处理**/
$host="localhost";
$username="root";
$password="root";
$db="db4"; //数据库
$mysql_table="person"; //数据表
$table_guanjianzi="think";//关键字
$pageSize=10;
$showPage=5;
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = "SELECT id, name, age, say
FROM person
WHERE say LIKE '%{$table_guanjianzi}%' order by id ASC LIMIT ".($page-1)*$pageSize .",{$pageSize}"; //双引号能包单引号,反过来不行,会出错./
// $sql = 'SELECT id, name, age, say
// FROM person
// WHERE say LIKE "%'think'%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//$sql='select * from data where Id='.$id.' order by '.$item.' desc';
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);
⑼ 求一句模糊查询SQL语句,,,,PHP+mysql
foreach($arr as $k => $array){
$sql="select * from table where jobName like '%$array%'";
}
//将符合条件的记录列出来就可以了
⑽ 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);
}