本文目錄一覽:
- 1、PHP簡單的操作Access資料庫
- 2、php access 如何獲得記錄條數
- 3、php怎麼連接access資料庫
- 4、PHP讀取Access資料庫 出亂碼
- 5、PHP有沒有像ASP中rs.GetRows()高效率的提取數據的涵數?
PHP簡單的操作Access資料庫
關於用PHP連接ACCESS資料庫的做法
用ASP和PHP的,一起做一個比較..
ASP程序
程序代碼 程序代碼
1.conn= “DRIVER=Microsoft Access Driver (*.mdb);DBQ=” Server.MapPath(“*.mdb”)
2.set conn = server.createobject(“adodb.connection”)
3.conn.open conn
4.set rs = Server.CreateObject(“adodb.recordset”)
5.sql = “select * from 表名”
6.rs.Open sql, conn, 3, 1
7.rs.Close
PHP程序
程序代碼 程序代碼
?PHP
1.$conn = @new COM(“ADODB.Connection”) or die (“ADO連接失敗!”);
2.$connstr = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=” . realpath(“temp/TempData.mdb”);
3.$conn-Open($connstr);
4.$rs = @new COM(“ADODB.RecordSet”);
5.$sql =”select * from blog_Content”;
6.$rs-Open($sql,$conn,1,3);
7.$rs-close();
?
兩個程序都相對應….很好理解了吧.嘿….然後就是ASP和PHP操作記錄集了…有什麼不同,,看資料了事5~
php: $rs[name/index];
asp: rs(name/index);
php: $rs-Fields[“name”]-Value / fields[index]-Value;
asp: rs.fields(index)/rs.field(name);
php中的方法和ASP中基本一致,只是寫法上不一樣,,注意:PHP區分大小寫,寫時後面一定要加;號
asp:
修改記錄集中的記錄
rs.AddNew 向記錄集中添加一條新記錄
rs.Delete 從記錄集中刪除一條記錄
rs.{fieldName/fieldIndex}=指定值;
rs.Update 保存對當前記錄所做的修改
CancelBatch 當記錄集處在批量更新模式時)取消一批更新
CancelUpdate 調用Update之前)取消對當前記錄所做的所有修改
UpdateBatch 當記錄集處於批量更新模式時)保存對一個或多個記錄的修改
遍歷記錄集
Move NumRecords 在記錄集中向前或向後移動指定數目的記錄數。
MoveFirst 移動到記錄集的第一條記錄
MoveNext 移動到記錄集的下一條記錄
MovePrevious 移動到記錄集中的上一條記錄
MoveLast 移動到記錄集的最後一條記錄
記錄集對象屬性
AbsolutePosition 用來設置或讀取當前記錄在記錄集中的位置順序號
BOF 標明當前位置在記錄集中的第一條記錄之前
EOF 標明當前位置在記錄集中的最後一條記錄之後
RecordCount 表示一個記錄集中的記錄總數
記錄集進行分頁
AbsolutePage 指定當前的頁
PagePount 返回記錄集中的邏輯頁數
PageSize 指定一個邏輯頁中的記錄個數,預設值是10
GetRows() 記錄取到數組
MaxRecords 記錄集的最大容量
本人註:在文章最後只給出了ASP的內容,沒有找到PHP的啊,還有我試驗了以上內容,可是發現那容輸出以後只是一個Object單詞,不知道為什麼,還希望高手不吝賜教!
php access 如何獲得記錄條數
recordCount的結果並不一定準確,建議先執行一個SELECT COUNT(*)的查詢語句獲取數據總數
php怎麼連接access資料庫
(1)創建系統數據源,用PHP提供的ODBC函數。
(2)使用PHP的ODBC函數,但不創建數據源。
PHP使用ODBC連接Access 資料庫的方法。用$connstr=”DRIVER= Microsoft Access Driver (*.mdb)來設置數據驅動,函數realpath()用來取得資料庫的相對路徑。利用該方法連接Access資料庫主要應用到PHP的 odbc_connect()函數,該函數聲明如下:
以下為引用的內容:
resourse odbc_connect( string dsn, string user, string password [, int cursor_type])
dsn:系統dsn名稱
user:資料庫伺服器某用戶名。
password:資料庫伺服器某用戶密碼。
cursor_type:游標類型。
代碼如下:
以下為引用的內容:
$connstr=”DRIVER=Microsoft Access Driver (*.mdb);
DBQ=”.realpath(“bookinfo.mdb”);
$connid=odbc_connect($connstr,””,””,SQL_CUR_USE_ODBC );
(3)使用微軟的ADODB資料庫驅動。
定義類COM來使用ADO方法操縱Access資料庫的。
該類詳細說明如下:
以下為引用的內容:
string com::com( string module_name [, string server_name [, int codepage]])
module_name:被請求組件的名字或class-id。
server_name:DCOM伺服器的名字。
Codepage:指定用於將PHP字元串轉換成UNICODE字元串的代碼頁,反之亦然。該參數的取值有CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP、CP_UTF7和CP_UTF8。
PHP利用com類並使用ADO方法訪問資料庫的代碼如下:
以下為引用的內容:
$conn = new com(“ADODB.Connection”);
$connstr = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=” . realpath(“bookinfo.mdb “);
$conn-Open($connstr);
PHP讀取Access資料庫 出亂碼
PHP連接ACC是一個比較冷門的數據結構。一般使用php搭配Mysql使用。
access的中文版默認是GBK格式的,是無法改變字元類型的,所以用php讀取的時候會亂碼。
解決方法是:使用iconv轉換
一、使用 iconv函數製作一個轉碼的自定義從GBK轉到UTF-8的函數,如以下代碼:
function enc($c){return iconv(‘gbk’,’utf-8′,$c);}
二、為了寫入資料庫的編碼是符合資料庫需要的,所以我們還要製作一個從UTF-8轉向GBK的函數:
function dec($c){return iconv(‘utf-8′,’gb2312’,$c);}
製作好了轉碼函數,接下就是正常使用了。在從資料庫裡面調數據顯示在頁面的時候使用enc()函數,從頁面提交數據到資料庫時使用dec()函數,這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統默認編碼的問題了。
PHP有沒有像ASP中rs.GetRows()高效率的提取數據的涵數?
php+mysql絕對優於asp+access的,我是從asp到php的,mysql有個limit N,N這個我們要幾條記錄就取幾條,所以你不用擔心速度.只要資料庫優化得好.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245598.html