我有两个数据库 当我用a数据库时程序正常运行 当我用b数据库时 提示“XML 文档只能有一个顶层元素” 怎么回事呢

解决方案 »

  1.   

    b数据库是不是查询出了多条数据,然后xml输出的时候形成了多个顶层节点?代码贴出来看看
      

  2.   

    echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<data>\n".loadHelp().loadNotice($obj).loadTaskDatas().loadShop($obj).loadPersonInfo($obj,$uid).$obj->initDate()."\n</data>"; function loadPersonInfo($a,$b){
    $arr = $a -> individualInfo($b);
    $task = $a -> getTaskStatus($b);
    $strs = " <person_info ";
    for($i=0;$i<count($arr);$i++){
    for($j=0;$j<count($arr[$i]);$j++){
         $strs .= "dt".$j."=\"".$arr[$i][$j]."\" ";
    }
    $strs .= " dt15=\"$task\" />";
    }
    return $strs;
    }
      

  3.   

    你的代码在$arr没有值得情况下,xml节点的组合没有/>结尾,会出错的。
      

  4.   

    但是我将其改为
    function loadPersonInfo($a,$b){
    return "<hi />\n";
    还是问题一样的。
      

  5.   

    还有其他函数loadHelp(),loadNotice($obj)什么的,你有没有修改?有没有同样的问题?
      

  6.   

    我都在函数进入时 就加了 return "<hi />\n";
    还是有问题
    关键是这个问题在我连接另一个数据时就没有。
      

  7.   

    XML 文档只能有一个顶层元素。处理资源 'http://127.0.0.1/supesite/gy/load_static_data.php' 时出错。第 2 行,位置: 2 <b>Warning</b>:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>D:\AppServ...
      

  8.   

    是两个编码选择一样的数据库 连接a数据库就没问题 连接b数据库就有问题最后出错页面提示的warning信息也没显示全
      

  9.   

    mysql_num_rows()这句有问题,实际上应该是你前面的数据库查询就有问题,或者数据库b的连接有问题。
    你贴的代码中没有数据库查询这段
      

  10.   

    可能是a数据库中的表 比如叫a_x  
    但是b数据库中没有这个表
    而查询语句都是一样的 即连接b数据库也会查询a_x这个表 是不是查不到数据啊 呵呵
    但是客户还不让将a中的表copy到b中。我日啊
      

  11.   

    请问  能否从大量表中找出有某个字段的表比如有200个表 我想找 带有 uid 和 mail两个字段的表怎么找 呵呵 谢谢你们
      

  12.   

    MySQL试试这个SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROM information_schema.columns
      

  13.   

    <data><![CDATA[
    把那些php代码放这里
    ]]></data>还有我估计:你代码报错了,导致</data>标签
    或者你代码中产生了</data>导致xml提前结束了,
    请把"<?xml version=\"1.0\" encoding=\"gb2312\"?>" 去掉看看源代码生成什么,再解决.
      

  14.   


    生成的文件用记事本打开看看是否乱码?
    WIN系统的ANSI 文件 里面的换行时用 “\r\n” 而不是“\n”