在 PHP 中連接到 MySQL 資料庫

Linda Hamilton
發布: 2024-10-24 03:16:29
原創
273 人瀏覽過

Connecting to a MySQL Database in PHP

PHP 通常與 MySQL 搭配使用,MySQL 是使用最廣泛的開源關聯式資料庫管理系統之一,可在小型和大型專案中快速且有效率地處理資料。

無論您是建立簡單的網站還是高級 Web 應用程序,您都需要知道如何將 PHP 連接到 MySQL 資料庫。

MySQL 和 PHP 整合概述

MySQL 因開源關係型資料庫管理系統或 RDBMS 而聞名,因其效能、可靠性和易用性而受到廣泛讚賞。

它非常適合各種應用程序,從小型網站到大型複雜的企業系統。其靈活性和效率使 MySQL 成為尋求堅實資料庫基礎的開發人員的首選。

PHP 是一種伺服器端腳本語言,可與 MySQL 無縫協作來建立互動式、資料驅動的網頁。它們共同提供了強大的後端解決方案,使其成為網站和 Web 應用程式的完美選擇。

設定 MySQL 資料庫

要設定 MySQL 資料庫,請先使用 MySQL 命令列介面 (CLI) 或 phpMyAdmin 等 Web 工具來建立它。使用 CLI,利用 CREATE DATABASE 指令啟動新資料庫。

使用這個簡單的命令將建立一個空資料庫,為您的應用程式的資料做好準備。如果您喜歡圖形介面,phpMyAdmin 提供了一種簡單的方法,只需點擊幾下即可完成相同的任務。

建立資料庫後,出於安全目的,您需要設定具有適當權限的使用者。您可以使用 CREATE USER 命令新增用戶,並使用 GRANT 命令為其指派特定權限。

選擇 PHP MySQL 擴充功能:MySQLi 與 PDO

為 MySQL 選擇 PHP 擴充功能時,您有兩個主要選項:MySQLi 和 PDO。每個都提供獨特的功能和優點,因此決定將取決於您的特定需求和未來潛在的要求。

MySQLi 擴充
MySQLi 代表 MySQL 改進版,提供了一種使用 MySQL 資料庫的升級方法,與舊方法相比,提供了更好的功能。

您可以使用 MySQLi 在物件導向和流程 API 之間進行選擇,這使得它非常靈活,具體取決於您的程式設計風格。然而,MySQLi 僅適用於 MySQL 資料庫,如果您打算擴展到其他資料庫,則限制了它的使用。

PDO(PHP 資料物件)
PDO 是一個更通用的選項,因為它支援 12 種不同的資料庫系統,而不僅僅是 MySQL。如果您預計將來會切換資料庫,這將使其成為更有價值的選擇。

PDO 使用完全物件導向的方法,並提供預先準備語句等進階功能,增強跨不同資料庫環境的安全性和可移植性。

建立連線

與 MySQL 資料庫建立可靠的連線是建立動態 PHP 應用程式的第一步。

使用 MySQLi 連線到 MySQL
若要使用 MySQLi 連線到 MySQL 資料庫,您可以選擇物件導向或流程方法。在物件導向的方法中,只需使用您的伺服器名稱、使用者名稱和密碼建立 mysqli 類別的新實例即可。

使用過程方法,呼叫‘mysqli_connect()’函數建立連線。連線後,檢查連線狀態很重要。您可以在物件導向的版本中使用「$conn->connect_error」或程式上的「mysqli_connect_error()」來完成此操作。

使用 PDO 連線到 MySQL
使用 PDO 連線時,建立 PDO 類別的新實例,直接在連線字串中指定伺服器和資料庫詳細資訊。為了有效地處理異常,請使用「PDO::ATTR_ERRMODE」屬性將錯誤模式設為「PDO::ERRMODE_EXCEPTION」。

現在,如果發生錯誤,將會拋出異常,讓您可以更精確地管理它。另外,請記住,PDO 要求您在連線設定期間指定有效的資料庫;否則會拋出例外,連線失敗。

執行基本資料庫操作

為了有效管理 MySQL 資料庫中的數據,您需要了解如何執行基本 SQL 操作以及這些操作如何發揮作用。

執行查詢
要與 MySQL 資料庫交互,您需要執行基本的 SQL 查詢,例如 SELECT、INSERT、UPDATE 和 DELETE。

使用 MySQLi,您可以使用「$conn->query($sql)」(物件導向方法)或「mysqli_query($conn, $sql)」(流程方法)來執行這些查詢。

對於 PDO,使用「$conn->exec($sql)」進行修改資料庫的查詢,或使用「$conn->query($sql)」進行檢索。每種方法都提供了一種簡單的方法來執行命令,幫助您有效地管理資料庫。

準備好的聲明
準備好的語句有助於保護您的應用程式免受 SQL 注入的侵害。使用MySQLi,您可以使用'$conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)")' 準備一條語句,然後使用'$stmt->bind_param("ss" 綁定參數“,$姓名,$電子郵件)'。

對於PDO,使用'$conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)")' 並使用'$stmt->execute(['name' => $姓名,'電子郵件' => $電子郵件])'。

錯誤處理和調試

無論您使用的是 MySQLi 還是 PDO,有效處理和偵錯錯誤對於維持與 MySQL 資料庫的穩定連接以及識別 SQL 查詢問題至關重要。

  • MySQLi:要處理使用 MySQLi 時的錯誤,您可以使用「$conn->error」作為物件導向的方法,或使用「mysqli_error($conn)」作為流程方法。這些功能可以幫助您捕獲和顯示資料庫錯誤,從而更輕鬆地偵錯與連接或 SQL 查詢相關的問題,以便您可以有效地識別和解決問題。
  • PDO:PDO 使用自己的異常類別 PDOException 來有效地管理錯誤。您可以利用「try...catch」區塊來偵測異常並做出相應的回應。當發生錯誤時,「catch(PDOException $e)」可讓您輸出特定的錯誤訊息,從而對如何處理錯誤提供更精細的控制,這使得偵錯和維護程式碼變得更加容易。

關閉資料庫連接

對於MySQLi,您可以使用物件導向風格的“$conn->close()”明確關閉資料庫連接,對於過程方法使用“mysqli_close($conn)”,或設定“$conn = null”對於PDO 。雖然 PHP 會在腳本結束時自動關閉連接,但手動關閉它是釋放伺服器資源並增強效能的好習慣。

不再需要時始終關閉資料庫連線。利用準備好的語句來防禦 SQL 注入並增強應用程式的安全性。

以上是在 PHP 中連接到 MySQL 資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!