在 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 found
和 echo
。
在這裡,我們使用資料庫 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 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