在 PHP 中使用 ODBC 函式

Subodh Poudel 2022年5月13日
在 PHP 中使用 ODBC 函式

本文將介紹如何在 PHP 中使用 ODBC 及其功能。

在 PHP 中使用 ODBC 函式

開放式資料庫連線 (ODBC) 是一種 API,可讓我們從各種資料庫應用程式訪問資料庫。我們也可以將 ODBC 與 MySQL 資料庫一起使用。

要使用 MySQL 資料庫,我們需要一個 ODBC 聯結器驅動程式。我們可以從這裡下載驅動程式。

PHP 提供了將資料庫與 ODBC 連線的函式。我們可以使用 odbc_connect() 函式來建立資料庫連線。

同樣,我們可以使用 odbc_exec() 來執行查詢。假設我們安裝並設定了驅動程式,我們將演示如何連線到資料庫並執行查詢。

要建立資料庫連線,我們需要驅動程式、主機名、資料庫、使用者名稱和密碼等詳細資訊。odbc_connect() 函式將這些詳細資訊作為引數。

例如,建立變數 $server$database$user$password$driver,並將相關資訊儲存在這些變數中。

接下來,建立一個 $connection 變數並分配以下值。

"DRIVER=$driver;
SERVER=$server;
DATABASE=$database";

接下來,使用 odbc_connect() 函式並按順序提供變數 $connection$user$password 作為引數。將函式分配給 $conn 變數。

該變數返回一個布林值。

現在,我們將檢查與資料庫的連線是否已建立並執行查詢。用 $conn 作為引數編寫 if 條件。

在內部,建立一個 $mail 變數並儲存將針對資料庫進行檢查的電子郵件。接下來,建立一個 $query 變數並在其中編寫一個 SQL 查詢。

查詢如下所示。

SELECT COUNT(*) AS userEmail FROM users WHERE email = '$mail'

該查詢返回 users 表中 email 欄位具有 $mail 變數值的條目數。編寫查詢後,使用 odbc_exec() 函式執行它。

將變數 $conn$query 寫為函式中的引數。在函式旁邊,使用 or 運算子和包含 odbc_errormsg() 函式的 die 函式。

將整個操作分配給 $result 變數。如果查詢失敗,指令碼將終止,並顯示錯誤訊息。

接下來,使用 if 條件檢查 $result 變數,並在 if 塊內顯示 result foundecho

在這裡,我們使用資料庫 odbcd,伺服器是 localhost。使用者名稱是 root,沒有密碼。

資料庫中有表 users。該表包含以下資料。

+----+---------+--------+-----------------+
| id | role    | name   | email           |
+----+---------+--------+-----------------+
|  1 | admin   |  harry | admin@email.com |
|  2 | user    |  joe   | user@email.com  |
+----+---------+--------+-----------------+

資料庫匹配 $mail 變數中的電子郵件,顯示輸出部分中顯示的結果。這樣,我們就可以在 PHP 中執行與 SQL 資料庫通訊的 ODBC 函式。

$server = "localhost";
$database = "odbcdb";
$user = "root";
$password = "";
$driver = "MYSQL ODBC 3.51 DRIVER"

$connection = "DRIVER=$driver; SERVER=$server; DATABASE=$database";

$conn = odbc_connect($connection, $user, $password);

if ($conn) {
    $mail = 'user@email.com';
    $query = "SELECT COUNT(*) AS userEmail FROM users WHERE email = '$mail'";
    $results = odbc_exec($conn, $query) or die(odbc_errormsg());
    if( $results ) {
        echo 'result found';
    }
}

輸出:

result found
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相關文章 - PHP Function