mb_substr($string,1,5); 函数截取字符串的问题

ImFantasy 2008-12-02 09:01:02

<?php

$dbh = @mysql_connect("localhost","root","pw");
if(!$dbh){die("error");}
@mysql_select_db("db", $dbh);
@mysql_query("set names 'gbk'");
$q = "SELECT * FROM cdb_threads where fid=20 order by dateline desc limit 7";
$rs = mysql_query($q, $dbh);
/*-------------------------*/
mb_internal_encoding("gb2312");
$string = $row[subject];
$mystring = mb_substr($string,1,5);
echo $mystring;
/*----------------------*/
while($row = mysql_fetch_array($rs))
echo "<li><span> [$row[author]] </span><a href=http://bbs.----.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$mystring</a></li>";

?>





请问我这里的mb_substr($string,1,5); 函数是哪里错了呀。 这样返回的是空的, $mystring 变量什么都没有






<?php

mb_internal_encoding("gb2312");
$string = "我来测试一下,测试一下!";
$mystring = mb_substr($string,1,5);
echo $mystring;

?>




而这样就可以返回正确的截取。


请问各位大侠。 错误在哪里呀?
...全文
212 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ImFantasy 2008-12-02
感谢大家的热心帮助 。 我已经自己解决了。
回复
ImFantasy 2008-12-02

如果不用字符截取。 一点问题都没有。

[Quote=引用 7 楼 froole 的回复:]
引用 6 楼 ImFantasy 的回复:
这个函数是支持的。


回复4楼。

还是不行。

报错:
NULL
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\*******\www\1.php on line 24

24行的循环还是不行。


代码如下:

PHP code <?php$dbh=@mysql_connect("localhost","root","pw");if(!$dbh){die("error");}
@mysql_select_db("db",$dbh);
@mysql_query("se…
[/Quote]
回复
海诗美妆 2008-12-02
[Quote=引用 6 楼 ImFantasy 的回复:]
这个函数是支持的。


回复4楼。

还是不行。

报错:
NULL
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\*******\www\1.php on line 24

24行的循环还是不行。


代码如下:

PHP code<?php$dbh=@mysql_connect("localhost","root","pw");if(!$dbh){die("error");}
@mysql_select_db("db",$dbh);
@mysql_query("set names 'gbk'");$q="SELECT * FROM cdb_thre…
[/Quote]

县确认一下mysql_connect和mysql_select_db后又没有错误,
你的问题出在数据库的连接/处理上
回复
ImFantasy 2008-12-02
这个函数是支持的。



回复4楼。

还是不行。

报错:
NULL
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\*******\www\1.php on line 24

24行的循环还是不行。


代码如下:


<?php

$dbh = @mysql_connect("localhost","root","pw");
if(!$dbh){die("error");}
@mysql_select_db("db", $dbh);
@mysql_query("set names 'gbk'");
$q = "SELECT * FROM cdb_threads where fid=20 order by dateline desc limit 7";
$rs = mysql_query($q, $dbh);
/*-------------------------*/
mb_internal_encoding("gb2312");
$string = $row[subject];
var_dump($string);//看看是否取出值来.
$mystring = substr($string,1,5);/*-----去掉mb_12.02---*/
/*-----------字符串截取函数-----------*/
while($row = mysql_fetch_array($rs))
echo "<li><span> [$row[author]] </span><a href=http://bbs.----.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$mystring</a></li>";

?>

回复
wlhcy 2008-12-02
$string = $row['subject'];
回复
程序猿之殇 2008-12-02
$string = $row[subject];
var_dump($string);//看看是否取出值来.
//意思是从第一位开始取,取出长度为5的串.
mb_substr($string,1,5);

回复
海诗美妆 2008-12-02
lz确认一下phpinfo,
可能mb_string模块还没有安装。
回复
ImFantasy 2008-12-02


<?php

$dbh = @mysql_connect("localhost","root","pw");
if(!$dbh){die("error");}
@mysql_select_db("db", $dbh);
@mysql_query("set names 'gbk'");
$q = "SELECT * FROM cdb_threads where fid=20 order by dateline desc limit 7";
$rs = mysql_query($q, $dbh);
/*-------------------------*/
mb_internal_encoding("gb2312");
$string = $row[subject];
$mystring = substr($string,1,5);/*-----去掉mb_12.02---*/
/*-----------字符串截取函数-----------*/
while($row = mysql_fetch_array($rs))
echo "<li><span> [$row[author]] </span><a href=http://bbs.----.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$mystring</a></li>";

?>



/*-------------------------*/
mb_internal_encoding("gb2312");
$string = $row[subject];
$mystring = substr($string,1,5);/*-----去掉mb_12.02---*/
/*-----------字符串截取函数-----------*/

substr函数 去掉了前缀, 但是 又有新的报错了。


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\********\www\1.php on line 23


while($row = mysql_fetch_array($rs))

23 行的这个循环不知道有什么错误。 谢谢楼上的朋友帮助。
回复
jiang_jiajia10 2008-12-02
$mystring = mb_substr($string,1,5);
改成substr
$mystring = substr($string,1,5);
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-12-02 09:01
社区公告
暂无公告