我需要做一個記錄搜索和使用PHP在Foxpro dbf文件中顯示。我的dbf文件名稱icitem.DBF,我使用ODBC和OLEDB方法,但都返回錯誤。Php讀取Foxpro DBF文件
方法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錯誤:[微軟] [ODBC Visual FoxPro驅動程序]無法打開文件C:\ XAMPP \ htdocs中\ DB \ stock.dbc 。SQLExecDirect中的SQL狀態S1000在第9行的C:\ xampp \ htdocs \ hottemp \ index.php中 [Microsoft] [ODBC Visual FoxPro驅動程序]無法打開文件c:\ xampp \ htdocs \ db \ stock.dbc。
方法2: 我安裝有關VisualFoxPro 9的Microsoft OLE DB提供在http://www.microsoft.com/en-us/download/details.aspx?id=14839
PHP腳本:
$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 Stack trace:#0 C:\ xampp \ htdocs \ index.php(8):com-> Execute('SELECT * FROM i ...')#1 { main}在第8行拋出C:\ xampp \ htdocs \ index.php
看起來兩個輸出都需要stock.dbc而不是icitem.dbf?我只有icitem.dbf和icitem.fpt。