PHP读取文件夹下dbf文件,如果与其同名的cdx文件存在的话,读取没有问题,
但是如果只有独立的dbf文件,通过PHP读取,报错如下。。<?php
$add='c://BatMan//Daten//ladertyp.DBF';
$e="Driver={Microsoft Visual FoxPro Driver};SourceType=DBf;SourceDB=".$add.";";
$odbc=odbc_connect($e,'',''); 
 
echo $add;
$query = "select * from  ".$add.";";$result_id = odbc_do($odbc, $query);
odbc_result_all($result_id, "border=1 width=50%");
odbc_close($odbc);
?> 报错如下。。
c://BatMan//Daten//ladertyp.DBF
Warning: odbc_do(): SQL error: [Microsoft][ODBC Visual FoxPro Driver]Not a table., SQL state S0002 in SQLExecDirect in C:\xampp\htdocs\dbf.php on line 9Warning: odbc_result_all() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\dbf.php on line 10请问下。。什么原因呢?又该如何解决呢??
php dbf cdx

解决方案 »

  1.   

    不好意思,刚刚测试了另外一个文件,只有DBF文件,但是没有cdx文件,用同样的指令,可以打开。。估计问题不是出在cdx文件下。。哪会是什么问题呢?求大神指导啊!!急死了啊。。
      

  2.   

    CDX 文件是 dbf 的内联索引文件
    如果本来有,后来删掉了,则 dbf 会打不开
    你可以建一个空文件冒充
      

  3.   

     非常感谢你这么快就回复了。我测试了下,还是不行。。同样的报错。。如果不是CDX的问题,会是什么情况呢?
      

  4.   

    找到原因了。。是因为DBF文件类型不同,所用的VFP版本不同,而ODBC能够支持的最多就到7后来使用ADODB外加VFP 的oledb驱动可以连接。。