今天做东西 要获取Access数据库里面的东西   数据我已经获取到了  但是  怎么获取  表的字段名称呢  我获取到的都是  数字   不显示表的字段名称 
//=================================================================
// get record list
// 取得记录列表
//=================================================================
  public   function getlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表
    {
         $sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;
         $query=$this->query($sql);
         $i=0;
         while ($this->fetch_row($query)) 
         {
         for ($j=0;$j< $fieldnum;$j++)
        {
                   $info[$j]=odbc_result($query,$j+1);
        }    
        $rdlist[$i]=$info;
        $i++;
         }
         return $rdlist;
    }
这是我写的方法

解决方案 »

  1.   

    没用过odbc  你看下有没有类似 mysql_fetch_array() mysql_fetch_assoc() 这一类的方法 就可直接用表中的字段名
      

  2.   

    mysql_list_fields()函数可以返回表的字段名
      

  3.   

    我获取的是一组数组    1=>aaa,2=>bbbb  类似这种的  但是如果是mysql的话就是  id=>aa,name=>bb    Access数据库直接返回编号了 没返回字段
      

  4.   

    <?php
     
    $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("cust.mdb"); 
    $conn=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ); $query=odbc_do($conn,"select * from yhxx"); //输出记录
    while(odbc_fetch_row($query))  
    {    
        $id=odbc_result($query,id);
        $gonghao=odbc_result($query,gonghao);
        echo $id;
        echo "<br>";
        echo $gonghao; 
        echo "<br>"; 
    }//输出字段$num_field = max(odbc_num_fields($query), $num_field); 
    for($i = 0; $i <odbc_num_fields($query); $i ++){     echo @odbc_field_name($query,$i+1);
        echo "<br>";
    }odbc_close($conn); ?> 
      

  5.   

    foreach就解决了啊:$keyname = array();
    while ($field = $this->fetch_row($query)) 
    {
      foreach ($field as $key => $val)
      {
        $keyname[] = $key;
      }
    }
    print_r($keyname);