PHP ODBC - Access 2007:函数调用问题:odbc_columns

时间:2010-02-11 17:41:48

标签: php ms-access odbc

我已经管理过使用odbc_connect,如下所示访问2007和2003,我可以获取数据。但是当我尝试获取列名时,以下函数对于访问2007将不起作用,但是对于acccess 2003 - 为什么?

if($type[1]=='mdb'){

    $connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $username, $password);

}else{

    $connection = odbc_connect("Driver={Microsoft Access Driver (*.accdb)};Dbq=$mdbFilename", $username, $password);
}

function get_columns($activity_file){

    global $connection;

    global $typee;

    $coulmn_array = array();

    $result = odbc_columns($connection, $typee, "", $activity_file, "%");

    while (odbc_fetch_row($result)) {

        $coulmn_array[] = odbc_result($result, "COLUMN_NAME");

    }

    echo '<br>Exporting table '.$activity_file;

    return $coulmn_array;

}

我的意思是我可以获取数据和所有内容,看起来这个功能似乎不起作用!

请帮忙!

更新

我有一个谷歌,发现this thread

我可以确认这个人在说什么。提供table_name意味着这不起作用。但如果你不这样做。这是不可接受的,因为返回的列和什么表?我需要知道这个!!

1 个答案:

答案 0 :(得分:1)

这是一个很长的镜头,但是与Access 2007相关的ODBC函数SQLDescribeCol和SQLColAttributes存在问题。odbc_columns可能会使用这些函数。它在this KB article中描述。