加上like 模糊查詢條件 無法輸出 ,加分
最後更新:2016-06-13
來源:互聯網
上載者:User
加上like 模糊查詢條件 無法輸出 ,線上等!!加分
$conn = mysql_connect("localhost","root","");
if (!$conn){
die("串連資料庫失敗:" . mysql_error());
} else {
echo "串連資料庫成功!";
}
mysql_query("set character set utf8");
$yes=mysql_select_db("ORG7188", $conn);
if (!$yes){
die("串連資料庫失敗:");
} else {
echo "串連資料庫成功!";
}
$sql="SELECT * FROM 188_line where ts like '%三峽%' "; // 如果沒有where語句 就可以輸出內容
$socre=mysql_query($sql,$conn);
while($row = mysql_fetch_array($socre)){
echo $row[ts];
}
?>
資料庫如下
------解決方案--------------------
select * from table where filds like binary \'%中文%\'
------解決方案--------------------
php代碼是什麼編碼?代碼、資料庫、瀏覽器統一為utf-8。
------解決方案--------------------
這樣看一下
....
$sql="SELECT * FROM 188_line where ts like '%三峽%' "; // 如果沒有where語句 就可以輸出內容
die(base64_encode($sql)); //加上這句,貼出結果
$socre=mysql_query($sql,$conn);
------解決方案--------------------
在MySQL中,進行中文排序和尋找的時候,對漢字的排序和尋找結果是錯誤的。
這種情況在MySQL的很多版本中都存在。如果這個問題不解決,那麼MySQL將無法實際處理中文。
出現這個問題的原因是:MySQL在查詢字串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字元集作為預設的字元集,因此在比較過程中中文編碼字元大小寫轉換造成了這種現象。
方法一:
解決方案是對於包含中文的欄位加上\"binary\"屬性,使之作為二進位比較,例如將\"name char(10)\";改成\"name char(10)binary\"。
方法二: 如果你使用源碼編譯MySQL,可以編譯MySQL時使用--with--charset=gbk 參數,這樣MySQL就會直接支援中文尋找和排序了
------解決方案--------------------
探討
引用:
這樣看一下
....
$sql="SELECT * FROM 188_line where ts like '%三峽%' "; // 如果沒有where語句 就可以輸出內容
die(base64_encode($sql)); //加上這句,貼出結果
$socre=mysql_query($sql,$conn);
報錯syntax err……
------解決方案--------------------
探討
應該是樓主php檔案編碼不是utf-8的