PHP Database ODBC
ODBC 是一種應(yīng)用程序編程接口(Application Programming Interface,API),使我們有能力連接到某個(gè)數(shù)據(jù)源(比如一個(gè) MS Access 數(shù)據(jù)庫)。
創(chuàng)建 ODBC 連接
通過一個(gè) ODBC 連接,您可以連接到您的網(wǎng)絡(luò)中的任何計(jì)算機(jī)上的任何數(shù)據(jù)庫,只要 ODBC 連接是可用的。
這是創(chuàng)建到達(dá) MS Access 數(shù)據(jù)的 ODBC 連接的方法:
- 在控制面板中打開管理工具
- 雙擊其中的數(shù)據(jù)源 (ODBC) 圖標(biāo)
- 選擇系統(tǒng) DSN 選項(xiàng)卡
- 點(diǎn)擊系統(tǒng) DSN 選項(xiàng)卡中的“添加”按鈕
- 選擇 Microsoft Access Driver。點(diǎn)擊完成。
- 在下一個(gè)界面,點(diǎn)擊“選擇”來定位數(shù)據(jù)庫。
- 為這個(gè)數(shù)據(jù)庫取一個(gè)數(shù)據(jù)源名 (DSN)。
- 點(diǎn)擊確定。
請注意,必須在您的網(wǎng)站所在的計(jì)算機(jī)上完成這個(gè)配置。如果您的計(jì)算機(jī)上正在運(yùn)行 Internet 信息服務(wù)器 (IIS),上面的指令會(huì)生效,但是假如您的網(wǎng)站位于遠(yuǎn)程服務(wù)器,您必須擁有對該服務(wù)器的物理訪問權(quán)限,或者請您的主機(jī)提供商為您建立 DSN。
連接到 ODBC
odbc_connect() 函數(shù)用于連接到 ODBC 數(shù)據(jù)源。該函數(shù)有四個(gè)參數(shù):數(shù)據(jù)源名、用戶名、密碼以及可選的指針類型參數(shù)。
odbc_exec() 函數(shù)用于執(zhí)行 SQL 語句。
例子
下面的例子創(chuàng)建了到達(dá)名為 northwind 的 DSN 的連接,沒有用戶名和密碼。然后創(chuàng)建并執(zhí)行一條 SQL 語句:
$conn=odbc_connect('northwind','',''); $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
取回記錄
odbc_fetch_row() 函數(shù)用于從結(jié)果集中返回記錄。如果能夠返回行,則返回 true,否則返回 false。
該函數(shù)有兩個(gè)參數(shù):ODBC 結(jié)果標(biāo)識符和可選的行號:
odbc_fetch_row($rs)
從記錄中取回字段
odbc_result() 函數(shù)用于從記錄中讀取字段。該函數(shù)有兩個(gè)參數(shù):ODBC 結(jié)果標(biāo)識符和字段編號或名稱。
下面的代碼行從記錄中返回第一個(gè)字段的值:
$compname=odbc_result($rs,1);
The code line below returns the value of a field called "CompanyName":
$compname=odbc_result($rs,"CompanyName");
關(guān)閉 ODBC 連接
odbc_close()函數(shù)用于關(guān)閉 ODBC 連接。
odbc_close($conn);
ODBC 實(shí)例
下面的例子展示了如何首先創(chuàng)建一個(gè)數(shù)據(jù)庫連接,然后是結(jié)果集,然后在 HTML 表格中顯示數(shù)據(jù)。
<html> <body> <?php $conn=odbc_connect('northwind','',''); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>