是不是你的ODBC配置的不对呀?

解决方案 »

  1.   

    我想应该不会吧?我把这句话改成这样:
    $sql = "SELECT building_table.*,floor_table.* 
            FROM  building_table , floor_table";
    又可以。
    估计跟配置关系不大,有没有可能是ACCESS数据库的SQL语法不一样造成的?但我想,通过ADODB联接应该不存在这种问题的呀!
      

  2.   

    <?php//  ADO操作Access2000
    include('../adodb/adodb.inc.php'); 
    $conn = ADONewConnection('access');
    $dbf = "C:\MYWEB\\Door\\Database\\door.mdb";
    $dsn = "Driver={Microsoft Access Driver (*.mdb)};".
           "Dbq=$dbf;Uid=;Pwd=;";
    $dbf = "C:\\MYWEB\\Door\\Database\\door.mdb";
    $conn->Connect($dsn);/*$sql = "SELECT b.BUILD_NAME,f.FLOOR_NAME 
            FROM " . building_table . "  b, ". floor_table ." f 
    WHERE b.ID = f.ID ORDER BY b.ID,f.ID";*/$sql = "SELECT building_table.BUILD_NAME,floor_table.FLOOR_NAME 
            FROM  building_table , floor_table  
    WHERE building_table.ID = floor_table.BUILD_ID ORDER BY building_table.ID,floor_table.ID";$recordSet = &$conn->Execute($sql);
    echo $sql;
    if (!$recordSet) 
       print $conn->ErrorMsg();
    else 
       while (!$recordSet->EOF) 
         {
            for ($i=0;$i<$recordSet->FieldCount();$i++)
               print $recordSet->fields[$i].' ';
            print "<br/>"; 
            $recordSet->MoveNext();
         }$recordSet->Close();  
    $conn->Close();  
    ?>
      

  3.   

    估计是sql语法问题,ACCESS跟MYSQL的sql语句还是有一点区别的。
      

  4.   

    如果
    $sql = "SELECT building_table.*,floor_table.* 
            FROM  building_table , floor_table";
    可以

    $sql = "SELECT building_table.BUILD_NAME,floor_table.FLOOR_NAME 
            FROM  building_table , floor_table  
            WHERE building_table.ID = floor_table.BUILD_ID 
            ORDER BY building_table.ID,floor_table.ID";
    不可以
    那么请检查所涉及的字段名在对应的表中是否存在
      

  5.   

    是recordset.open还是conn.execute????
      

  6.   

    如果
    $sql = "SELECT building_table.*,floor_table.* 
            FROM  building_table , floor_table";
    可以

    $sql = "SELECT building_table.BUILD_NAME,floor_table.FLOOR_NAME 
            FROM  building_table , floor_table  
            WHERE building_table.ID = floor_table.BUILD_ID 
            ORDER BY building_table.ID,floor_table.ID";
    不可以
    那么请检查所涉及的字段名在对应的表中是否存在根本存在,如果不存在的话,提示信息都不一样。