<?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;
?>
而这样就可以返回正确的截取。
请问各位大侠。 错误在哪里呀?
9 个解决方案
#1
$mystring = mb_substr($string,1,5);
改成substr
$mystring = substr($string,1,5);
改成substr
$mystring = substr($string,1,5);
#2
<?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 行的这个循环不知道有什么错误。 谢谢楼上的朋友帮助。
#3
lz确认一下phpinfo,
可能mb_string模块还没有安装。
可能mb_string模块还没有安装。
#4
$string = $row[subject];
var_dump($string);//看看是否取出值来.
//意思是从第一位开始取,取出长度为5的串.
mb_substr($string,1,5);
var_dump($string);//看看是否取出值来.
//意思是从第一位开始取,取出长度为5的串.
mb_substr($string,1,5);
#5
$string = $row['subject'];
#6
这个函数是支持的。
回复4楼。
还是不行。
报错:
NULL
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\*******\www\1.php on line 24
24行的循环还是不行。
代码如下:
回复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>";
?>
#7
县确认一下mysql_connect和mysql_select_db后又没有错误,
你的问题出在数据库的连接/处理上
#8
如果不用字符截取。 一点问题都没有。
#9
感谢大家的热心帮助 。 我已经自己解决了。
#1
$mystring = mb_substr($string,1,5);
改成substr
$mystring = substr($string,1,5);
改成substr
$mystring = substr($string,1,5);
#2
<?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 行的这个循环不知道有什么错误。 谢谢楼上的朋友帮助。
#3
lz确认一下phpinfo,
可能mb_string模块还没有安装。
可能mb_string模块还没有安装。
#4
$string = $row[subject];
var_dump($string);//看看是否取出值来.
//意思是从第一位开始取,取出长度为5的串.
mb_substr($string,1,5);
var_dump($string);//看看是否取出值来.
//意思是从第一位开始取,取出长度为5的串.
mb_substr($string,1,5);
#5
$string = $row['subject'];
#6
这个函数是支持的。
回复4楼。
还是不行。
报错:
NULL
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\*******\www\1.php on line 24
24行的循环还是不行。
代码如下:
回复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>";
?>
#7
县确认一下mysql_connect和mysql_select_db后又没有错误,
你的问题出在数据库的连接/处理上
#8
如果不用字符截取。 一点问题都没有。
#9
感谢大家的热心帮助 。 我已经自己解决了。