新手求助,php循环问题
代码中的while不循环,只能输出一行结果。
还有数据库里有中文的话,运行的时候会报错。
求指教!
header(content-type:text/xml;charset=utf-8);
$conn = new com(adodb.connection);
$connstr = driver={microsoft access driver (*.mdb)}; dbq=. realpath(syec_mtv.mdb);
$conn->open($connstr);
mysql_query(set names utf8;);
$rs = new com(adodb.recordset);
$rs->open(select * from mtv_singer,$conn,3,1);
echo '';
echo '';
echo '';
echo '';
while(!$rs->eof){
$field_0=$rs->fields(0);
$field_1=$rs->fields(1);
$field_2=$rs->fields(2);
$field_3=$rs->fields(3);
$field_4=$rs->fields(4);
$field_5=$rs->fields(5);
$field_6=$rs->fields(6);
echo ;
$rs->movenext();
}
echo '';
echo '';
分享到:
------解决方案--------------------
mysql_query(set names utf8;);
明明是adodb,怎么还冒出来个mysql_query?
$rs->open(select * from mtv_singer,$conn,3,1);
明显应该是:
$rs = $conn->execute('select * from mtv_singer')吧
------解决方案--------------------
你需要输出 utf-8 的 xml 文档,而 access 根本就没有 utf-8 字符集
如果你不做编码转换,那么就一定会出现 xml 文档解析错