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;

?>




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


请问各位大侠。 错误在哪里呀?
...全文
277 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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);

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧