PHP 數(shù)據(jù)庫(kù) ODBC

2021-11-18 09:27 更新

本節(jié)主要介紹了 PHP 使用 ODBC 連接數(shù)據(jù)庫(kù)的方法,涉及 PHP 使用 ODBC 操作數(shù)據(jù)庫(kù)的基本技巧。


ODBC 是一種應(yīng)用程序編程接口(Application Programming Interface,API),使我們有能力連接到某個(gè)數(shù)據(jù)源(比如一個(gè) MS Access 數(shù)據(jù)庫(kù))。


創(chuàng)建 ODBC 連接

通過(guò)一個(gè) ODBC 連接,您可以連接到您的網(wǎng)絡(luò)中的任何計(jì)算機(jī)上的任何數(shù)據(jù)庫(kù),只要 ODBC 連接是可用的。

這是創(chuàng)建到達(dá) MS Access 數(shù)據(jù)庫(kù)的 ODBC 連接的方法:

  1. 在控制面板中打開(kāi)管理工具圖標(biāo)。
  2. 雙擊其中的數(shù)據(jù)源(ODBC)圖標(biāo)。
  3. 選擇系統(tǒng) DSN 選項(xiàng)卡。
  4. 點(diǎn)擊系統(tǒng) DSN 選項(xiàng)卡中的添加。
  5. 選擇Microsoft Access Driver。點(diǎn)擊完成。
  6. 在下一個(gè)界面,點(diǎn)擊選擇來(lái)定位數(shù)據(jù)庫(kù)。
  7. 為數(shù)據(jù)庫(kù)起一個(gè)數(shù)據(jù)源名(DSN)
  8. 點(diǎn)擊確定。

請(qǐng)注意,必須在您的網(wǎng)站所在的計(jì)算機(jī)上完成這個(gè)配置。如果您的計(jì)算機(jī)上正在運(yùn)行 Internet 信息服務(wù)(IIS),上面的指令將會(huì)生效,但是如果您的網(wǎng)站位于遠(yuǎn)程服務(wù)器,您必須擁有對(duì)該服務(wù)器的物理訪問(wèn)權(quán)限,或者請(qǐng)您的主機(jī)提供商為您建立 DSN。


連接到 ODBC

odbc_connect() 函數(shù)用于連接到 ODBC 數(shù)據(jù)源。該函數(shù)有四個(gè)參數(shù):數(shù)據(jù)源名、用戶名、密碼以及可選的指針類型。

odbc_exec() 函數(shù)用于執(zhí)行 SQL 語(yǔ)句。

實(shí)例

下面的實(shí)例創(chuàng)建了到達(dá)名為 northwind 的 DSN 的連接,沒(méi)有用戶名和密碼。然后創(chuàng)建并執(zhí)行一條 SQL 語(yǔ)句:

$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);


取回記錄

odbc_fetch_row() 函數(shù)用于從結(jié)果集中返回記錄。如果能夠返回行,則函數(shù)返回 true,否則返回 false。

該函數(shù)有兩個(gè)參數(shù):ODBC 結(jié)果標(biāo)識(shí)符和可選的行號(hào):

odbc_fetch_row($rs)


從記錄中取回字段

odbc_result() 函數(shù)用于從記錄中讀取字段。該函數(shù)有兩個(gè)參數(shù):ODBC 結(jié)果標(biāo)識(shí)符和字段編號(hào)或名稱。

下面的代碼行從記錄中返回第一個(gè)字段的值:

$compname=odbc_result($rs,1);

下面的代碼行返回名為 "CompanyName" 的字段的值:

$compname=odbc_result($rs,"CompanyName");


關(guān)閉 ODBC 連接

odbc_close() 函數(shù)用于關(guān)閉 ODBC 連接。

odbc_close($conn);


ODBC 實(shí)例

下面的實(shí)例展示了如何首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接,接著創(chuàng)建一個(gè)結(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> 

到本節(jié)為止,PHP 中有關(guān) MySQL 數(shù)據(jù)庫(kù)的知識(shí)就結(jié)束了,想要獲得更多有關(guān) MySQL 的詳細(xì)信息,請(qǐng)參考本站的“MySQL教程”!


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)