我需要使用PHP进行记录搜索并在Foxpro dbf文件中显示。我的dbf文件名为icitem.DBF,我使用的是ODBC和OLEDB方法,但都返回错误。
方法1: 我设法安装foxpro ODBC驱动程序并创建一个系统DNS,下面是我的php脚本和输出。
php脚本:
$odbc = odbc_connect ("myDB", "" , "");
$strsql= "SELECT * FROM icitem WHERE CAT=820";
$query = odbc_exec($odbc, $strsql) or die (odbc_errormsg());
odbc_close($odbc);
输出: 警告:odbc_exec():SQL错误:[Microsoft] [ODBC Visual FoxPro驱动程序]无法打开文件c:\ xampp \ htdocs \ db \ stock.dbc。,C:\ xampp \ htdocs \ hottemp \中的SQLExecDirect中的SQL状态S1000第9行的index.php [Microsoft] [ODBC Visual FoxPro驱动程序]无法打开文件c:\ xampp \ htdocs \ db \ stock.dbc。
方法2: 我在http://www.microsoft.com/en-us/download/details.aspx?id=14839
安装了visual foxpro 9的microsoft ole db providerphp脚本:
$conn = new COM("ADODB.Connection") ;
$conn->Open('Provider=vfpoledb;Data Source=C:\xampp\htdocs\db;
Collating Sequence=machine;');
$query="SELECT * FROM icitem WHERE CAT=820";
$conn->Execute($query);
$conn->Close();
输出:
致命错误:未捕获的异常'com_exception',消息'源: Visual FoxPro的Microsoft OLE DB提供程序
描述:无法打开文件c:\ xampp \ htdocs \ DB \ stock.dbc“。在C:\ xampp \ htdocs \ index.php:8堆栈跟踪:#0 C:\ xampp \ htdocs \ index.php(8):com->执行('SELECT * FROM i ...')#1 {main}在第8行的C:\ xampp \ htdocs \ index.php中抛出
看起来两个输出都需要stock.dbc而不是icitem.dbf?我只有icitem.dbf和icitem.fpt。