PHP 資料庫 ODBC

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
$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 $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>