哦,  while (list($UserID,$ID,$Title)=$Result->FetchRow( $Result )){
           
            $Users[$UserIDD][Data]   = array("Title"=>$Title;
           
            
        } 
 打错了,应该是while (list($UserID,$ID,$Title)=$Result->FetchRow( $Result )){
           
            $Users[$UserID][Data]   = array("Title"=>$Title;
           
            
        }
请大家帮忙指点一下,谢谢

解决方案 »

  1.   

    $Users[$UserIDD][Data]   = array("ID"=>$ID, "Title"=>$Title);使用list($UserID,$ID,$Title)=$Result->FetchRow( $Result )的条件是
    $Result->FetchRow返回一个含有下标的数组
    list($UserID,$ID,$Title)中的变量分别对应数组的下标0、1、2你的数据库类是自己写的吗?
    FetchRow这个方法名看上去是pear DB的,检查你的取数类型设置
    应该是DB_GETMODE_ORDERED如果是adodb的兼容pear DB方式,则
    $ADODB_FETCH_MODE= ADODB_FETCH_NUM;
      

  2.   

    数据库类是调用ADODB的,$Result返回
    array(4) {
      [0]=>
      array(3) {
        ["UserID"]=>
        int(1) "1"
        ["ID"]=>
        int(1) "1"
        ["Title"]=>
        string(39) "国内新闻"
      }
      [1]=>
      array(3) {
        ["UserID"]=>
        int(1) "2"
        ["ID"]=>
        int(1) "2"
        ["Title"]=>
        string(39) "国外新闻"  }
      [2]=>
      array(3) {
        ["UserID"]=>
        int(1) "3"
        ["ID"]=>
        int(1) "3"
        ["Title"]=>
        string(39) "国际新闻"
      }
      [3]=>
      array(3) {
       ["UserID"]=>
        int(1) "4"
        ["ID"]=>
        int(1) "4"
        ["Title"]=>
        string(39) "社会新闻"
      }
    }
      

  3.   

    你没看见吗?那没有下标
    如果用
    while (list($UserID,$ID,$Title)=$Result->FetchRow( $Result )){
    就需要先
    $ADODB_FETCH_MODE= ADODB_FETCH_NUM;否则就要
    while ($row=$Result->FetchRow( $Result )){
      $Users[$row['UserIDD']]['Data'] = array('ID'=>$row['ID'], 'Title'=>$row['Title']);看上去很乱吧?呵呵