Home >Backend Development >PHP Tutorial >加上like 模糊查询条件 无法输出 ,加分

加上like 模糊查询条件 无法输出 ,加分

WBOY
WBOYOriginal
2016-06-13 10:14:39773browse

加上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的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn