⑴ 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);
}