連接數(shù)據(jù)庫指南:建立連接:使用 mysqli 或 pdo 建立數(shù)據(jù)庫連接。pdo 連接方法:使用面向?qū)ο箫L格、pdostatement 或簡寫方式連接 pdo。實戰(zhàn)案例:按 userid 查詢用戶。關(guān)閉連接:完成操作后關(guān)閉數(shù)據(jù)庫連接。
使用 PHP 連接數(shù)據(jù)庫
簡介
在 PHP 中連接數(shù)據(jù)庫是開發(fā) Web 應用程序的一項基本任務。本文將指導您逐步完成使用 PHP 連接到各種類型數(shù)據(jù)庫所需的過程。
建立連接
要建立數(shù)據(jù)庫連接,可以使用以下代碼:
$servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; // 創(chuàng)建連接 $conn = new mysqli($servername, $username, $password, $database); // 檢查連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } echo "成功連接到數(shù)據(jù)庫";
登錄后復制
使用 PDO
PDO(PHP 數(shù)據(jù)對象)是一種更強大的連接方法,它為不同類型的數(shù)據(jù)庫提供了統(tǒng)一的接口。有三種建立 PDO 連接的方法:
1、面向?qū)ο箫L格
$host = "localhost"; $port = "3306"; // MySQL 的默認端口 $dbname = "dbname"; $username = "username"; $password = "password"; $dsn = "mysql:dbname=$dbname;host=$host;charset=UTF8;port=$port"; try { // 創(chuàng)建連接 $conn = new PDO($dsn, $username, $password); // 設(shè)置錯誤信息模式 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "成功連接到數(shù)據(jù)庫"; } catch (PDOException $e) { echo "連接失敗: " . $e->getMessage(); }
登錄后復制
2、使用 PDOStatement
$host = "localhost"; $database = "dbname"; $username = "username"; $password = "password"; // 創(chuàng)建連接 $conn = new PDO("mysql:host=$host;dbname=$database", $username, $password); // 創(chuàng)建準備語句 $stmt = $conn->prepare("SELECT * FROM users"); $stmt->execute(); // 遍歷結(jié)果 while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "ID: " . $result['id'] . ", 名稱: " . $result['name'] . "<br>"; }
登錄后復制
3、簡寫方式
$dsn = "mysql:dbname=mydb;host=localhost"; $conn = new PDO($dsn, $username, $password);
登錄后復制
實戰(zhàn)案例:按 userId 檢索用戶
$userId = 1; // 查詢語句 $stmt = $conn->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $userId); // i 表示整數(shù) $stmt->execute(); // 獲取結(jié)果 $result = $stmt->get_result(); if ($row = $result->fetch_assoc()) { echo "名稱: " . $row['name'] . "<br>"; echo "電子郵件: " . $row['email'] . "<br>"; } else { echo "沒有找到用戶"; }
登錄后復制
關(guān)閉連接
執(zhí)行完數(shù)據(jù)庫操作后,請務必關(guān)閉連接以釋放資源:
$conn->close();
登錄后復制