try{
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),耒陽企業(yè)網(wǎng)站建設(shè),耒陽品牌網(wǎng)站建設(shè),網(wǎng)站定制,耒陽網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,耒陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
$db
=
new
PDO("odbc:driver={microsoft
access
driver
(*.mdb)};dbq=".getcwd()."#db.mdb");
echo
"Connectedn";
}
catch
(Exception
$e)
{
echo
"Failed:".$e-getMessage();
}
連接成功!如果沒有,請(qǐng)確認(rèn)PDO擴(kuò)展已安裝,打開php.ini,查看有沒有這么一句:extension=php_pdo_odbc.dll
沒有的話自行添加,可以調(diào)用phpinfo()查看擴(kuò)展有沒有正確的安裝!
如果有圖中紅色框內(nèi)的就是正確安裝了。
這里有個(gè)小小的注意,字符串“(*.mdb)”的前面必須有一個(gè)空格,
PHP連接Access數(shù)據(jù)庫
?php
/*
創(chuàng)建ADO連接
*/
$conn = new COM("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("1.mdb");
$conn-Open($connstr);
/*
創(chuàng)建記錄集查詢
*/
$rs = new COM("ADODB.RecordSet");
$rs-Open("select * from table1",$conn,1,3);
/*
循環(huán)讀取數(shù)據(jù)
*/
while(!$rs-eof){
echo $rs-Fields["id"]-Value;
echo "br/";
$rs-Movenext();
}
$rs-close();
?
resourse
odbc_connect(
string
dsn,
string
user,
string
password
[,
int
cursor_type])
dsn:系統(tǒng)dsn名稱
user:數(shù)據(jù)庫服務(wù)器某用戶名。
password:數(shù)據(jù)庫服務(wù)器某用戶密碼。
php程序員站
cursor_type:游標(biāo)類型。
這樣連接上access的數(shù)據(jù)庫
增刪改查就是標(biāo)準(zhǔn)的sql語句了,樓主應(yīng)該沒什么問題了吧
試試我的代碼
?PHP
/*
創(chuàng)建ADO連接
*/
$conn = @new COM("ADODB.Connection") or die ("ADO Connection faild.");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("Database1.accdb");
$conn-Open($connstr);
/*
創(chuàng)建記錄集查詢
*/
$rs = @new COM("ADODB.RecordSet");
$rs-Open("select * from dbo_dirs",$conn,1,3);
/*
循環(huán)讀取數(shù)據(jù)
*/
while(!$rs-eof){
echo $rs-Fields["title"]-Value;
echo "br/";
$rs-Movenext(); //將記錄集指針下移
}
$rs-close();
?
PHP連接ACC是一個(gè)比較冷門的數(shù)據(jù)結(jié)構(gòu)。一般使用php搭配Mysql使用。
access的中文版默認(rèn)是GBK格式的,是無法改變字符類型的,所以用php讀取的時(shí)候會(huì)亂碼。
解決方法是:使用iconv轉(zhuǎn)換
一、使用 iconv函數(shù)制作一個(gè)轉(zhuǎn)碼的自定義從GBK轉(zhuǎn)到UTF-8的函數(shù),如以下代碼:
function enc($c){return iconv('gbk','utf-8',$c);}
二、為了寫入數(shù)據(jù)庫的編碼是符合數(shù)據(jù)庫需要的,所以我們還要制作一個(gè)從UTF-8轉(zhuǎn)向GBK的函數(shù):
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫里面調(diào)數(shù)據(jù)顯示在頁面的時(shí)候使用enc()函數(shù),從頁面提交數(shù)據(jù)到數(shù)據(jù)庫時(shí)使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認(rèn)編碼的問題了。