成都网站建设设计

将想法与焦点和您一起共享

php数据库字符查找 php数据库查询语句

请教下,php用strpos 查找字符的时候从数据库取出来的进行查找会出错,而写个变量进行查找确能正确查找出

把echo $mystring 放在if外面输出一次看看结果。

创新互联建站技术团队10多年来致力于为客户提供成都做网站、成都网站建设、成都品牌网站建设成都全网营销、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了1000多家网站,包括各类中小企业、企事单位、高校等机构单位。

我觉得应该是你查询出来的结果有乱码或是错误。

如楼上所说,如果是有乱码的话,在连接数据库之后使用 mysql_query("set names ".$charset); 或是在类中加入这样一个内部方法

还有,把所用到的字符串都在if外面输出一次,看看是不是和你想象的结果一致。

判断条件真使用 if($pos) 就可以了。

PHP—strpos查找字符串

strpos——查找字符串第一次出现的位置

strpos(string \$haystack, mixed \$needle, int \$offset = 0):int

返回needle在haystack中首次出现的数字位置

offset(7.1.0开始支持负数的 offset。)

  如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始 。

返回值:

  返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时 注意字符串位置是从0开始,而不是从1开始的 。

  如果没找到 needle,将返回 false。

注意:

php 向数据库发送中文字符无法查询?

你的问题可能是数据库连接时未指定字符集:$conn-query("set names utf8");

详细如下:

将中文字符转换一下,可能你的网页编码是ansi非utf-8的:

$w=iconv("gb2312","utf-8",$w);

不过我不确定这样做你能否成功。关于字符有以下几点你看下:

数据库连接时: $conn-query("set names gbk");

数据库的字符集:建议建立数据库时就指定字符集,比如gbk或者utf-8,这样你就没必要为单独的表或者字段指定字符集

网页字符:META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" /

保持着三者使用的字符集一样,基本能解决你的问题。

当然,在使用ajax时。js传递过来的是utf-8,如果你的php文件和数据库使用的是中文字符集如gbk,gb2312,那么就需要对该值用iconv函数转换下字符集,如:$w=iconv("utf-8","gb2312",$w);

总之,需要这几块的字符集保持一致。

php 查找指定字符的位置

?php

$str="abf%a%fsdeghf%b%uikjkfdsl%c%fjdskyifio";

for($i=0;$istrlen($str);$i++)

{

if($str[$i]=='%')

{

$position[]=$i; //存储找到的位置信息

echo "位置:$i ";

}

}

//最终数据存在 $position 数组

?

PHP如何快速检索是否存在某个字符串?

5000多个不算多,直接保存到数据库中。

在保存的时候,可以保存部分,比如,只保存baidu,或baidu.com

这样数据检索的时候会更快。


网站名称:php数据库字符查找 php数据库查询语句
分享地址:http://chengdu.cdxwcx.cn/article/hpsesc.html