PHP 資料庫 ODBC

ODBC 是一種應用程式介面(Application Programming Interface,API),讓我們有能力連接到某個資料來源(例如一個 MS Access 資料庫)。


建立ODBC 連接

透過一個ODBC 連接,您可以連接到您的網路中的任何電腦上的任何資料庫,只要ODBC連接是可用的。

這是建立到達 MS Access 資料庫的 ODBC 連線的方法:

1.  在控制台中開啟管理工具圖示。

2.  雙擊其中的資料來源(ODBC)圖示。

3.  選擇系統 DSN 標籤。

4.  點選系統 DSN 標籤中的新增。

5.  選擇Microsoft Access Driver。點選完成。

6.  在下一個介面,點選選擇來定位資料庫。

7.  為資料庫取一個資料來源名稱(DSN)。

8.  點選確定。

請注意,必須在您的網站所在的電腦上完成這個設定。如果您的電腦上正在執行Internet 資訊服務(IIS),上面的指令將會生效,但是如果您的網站位於遠端伺服器,您必須擁有對該伺服器的實體存取權限,或請您的主機提供者為您建立DSN。


連接到 ODBC

#odbc_connect() 函數用於連接到 ODBC 資料來源。此函數有四個參數:資料來源名稱、使用者名稱、密碼以及可選的指標類型。

odbc_exec() 函數用來執行 SQL 語句。

實例

下面的實例建立了到達名為 northwind 的 DSN 的連接,沒有使用者名稱和密碼。然後建立並執行一條SQL 語句:

$conn=odbc_connect('northwind','','');

$sql ="SELECT * FROM customers";

$rs=odbc_exec($conn,$sql);


#取回記錄

#odbc_fetch_row() 函數用於從結果集中傳回記錄。如果能夠傳回行,則函數傳回 true,否則傳回 false。

此函數有兩個參數:ODBC 結果識別碼和可選的行號:

 odbc_fetch_row($rs)



從記錄中取回欄位


#odbc_result() 函數用於從記錄中讀取欄位。此函數有兩個參數:ODBC 結果識別碼和欄位編號或名稱。 下面的程式碼行從記錄中傳回第一個欄位的值:

#$compname=odbc_result($rs,1);

下面的程式碼行傳回名為"CompanyName" 的欄位的值:

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


#關閉ODBC 連線

##odbc_close
() 函數用於關閉ODBC 連線。

odbc_close###($conn);###########################ODBC 實例### #####################下面的實例展示如何先建立一個資料庫連接,接著建立一個結果集,然後在HTML 表格中顯示資料。 ###
<html>
 <body>
 
 <?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 $conn=odbc_connect('northwind','','');
 if (!$conn)
 {
     exit("连接失败: " . $conn);
 }
 
 $sql="SELECT * FROM customers";
 $rs=odbc_exec($conn,$sql);
 
 if (!$rs)
 {
     exit("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>
###############
繼續學習
||
<html> <body> <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $conn=odbc_connect('northwind','',''); if (!$conn) { exit("连接失败: " . $conn); } $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) { exit("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>