php連接access並從access資料庫中讀取資料

來源:互聯網
上載者:User
關鍵字 網路程式設計 PHP教程

php連接access,用的是odbc相關函數。 連接的代碼如下:

<?php
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
?>
如上就建立了一個連接,mydb.mdb就是你要連接的access資料庫,接下來就要執行sql查詢,跟mysql類似又有些不一樣。
$rs=odbc_do($connid,「sql查詢」);執行查詢並返回。
odbc_fetch_row($rs),與mysql有一點差別,odbc無需返回,只有執行odbc_do()之後,才可以利用odbc_result(),來獲得結果。
$f1=odbc_result($rs,n),用來獲得查詢結果,n從1開始取值,表示第幾個欄位,也可用欄位名稱代替。
基本的就這些了,更多的函數可以參考php手冊的odbc函數部分,根據mysql的類比就可以。
還有一點要說明的是,在php.ini有關于讀取odbc資料庫內容大小的限制,預設為4kb,若資料庫中有欄位大小超出就會出現內容不全,設置方法在php.ini中找到
odbc.defaultlrl,把它後邊的數值增大即可。
下面舉個例子:
在mydb.mdb中有個pic表,表中兩個欄位,一個是名稱,一個是picid,現要將其中picid不為空的記錄讀出並按格式寫入一個文字文件,如下:

<?php
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
$query=odbc_do($connid,"select 名稱,PicID from pic where PicID<>''");
while(odbc_fetch_row($query))
{
$name = odbc_result($query,1);
$id=odbc_result($query,2);
$str=$ name.' @'.$id.' ^';
$fp=fopen("picid.txt","a");
fwrite($fp,$str);
fclose($fp);
 }
?>
另:在access的sql查詢中,不等於只能用<>,而用! =會出現錯誤。 跟很多odbc資料庫一樣,odbc_num_rows($rs)往往也會返回錯誤,不能正確執行,可用while($odbc_fetch_row($rs))想法實現。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.