PHP和MySQL是現代Web開發中最受歡迎的技術。透過使用這兩種技術,開發者可以建立動態Web應用程序,其中包括資料儲存和檢索。本文將介紹如何使用PHP和MySQL實作資料庫的增刪改查操作。
一、環境設定
在開始之前,我們需要確認已經設定好了PHP和MySQL的開發環境。如果沒有,請自行進行安裝配置。為了測試程式碼,我們使用本地環境進行開發,並且假設你已經在本地搭建好了Web伺服器、PHP和MySQL。
二、建立資料庫
首先,我們需要建立資料庫。請使用MySQL客戶端登入伺服器,在控制台中執行下列命令:
CREATE DATABASE test;
這將建立一個名為「test」資料庫。接下來,我們需要切換到這個資料庫:
USE test;
接下來,我們將建立一個名為「users」的資料表,該資料表將包含使用者的資訊。
CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
這將建立一個名為「users」的資料表,其中包含四個欄位:id、name、email和password。 id是一個自增整數,用作使用者的唯一識別碼。 name和email欄位分別儲存使用者的姓名和電子郵件地址。 password欄位儲存使用者的密碼,需要雜湊後儲存。 created_at欄位用於儲存使用者帳戶的建立時間。
三、設定資料庫連線
在PHP中,我們使用mysqli擴充程式來管理我們的資料庫連線。首先,我們需要定義一些常數,用於儲存資料庫連線的配置值。在這個範例中,我們將連接到本地MySQL伺服器,使用者名稱為root,密碼為空,資料庫名稱為test:
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'test');
接下來,我們使用mysqli_connect()函數來連接到資料庫伺服器:
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
如果連線失敗,則會傳回錯誤訊息。如果成功,則可以進行以下四個基本的資料庫操作:建立、讀取、更新和刪除。
四、實作增刪改查操作
- 新增至資料庫
以下函數用於將使用者資訊新增至數據表中:
function create_user($name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $name, $email, $hashed_password); $stmt->execute(); return $mysqli->insert_id; }
此函數需要三個參數:使用者名稱、電子郵件地址和密碼。它先使用password_hash()函數將密碼雜湊化。然後,使用prepare()函數準備一個SQL查詢,該查詢將在資料表中新增使用者名稱、電子郵件地址和雜湊化的密碼。 bind_param()函數將參數與查詢佔位符綁定,並執行查詢。最後,使用insert_id()函數取得新使用者的唯一識別碼。
- 從資料庫中取得資料
以下函數透過使用者的ID來取得資料庫中的使用者資訊:
function get_user($id) { global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 0) { return null; } return $result->fetch_assoc(); }
此函數需要一個參數:用戶的唯一識別碼。它使用prepare()函數準備一個SQL查詢,該查詢將選取資料表中與提供的ID相符的使用者資訊。 bind_param()函數將參數與查詢佔位符綁定,並執行查詢。然後使用get_result()函數取得查詢結果,並傳回一個關聯數組(如果找到了記錄)或null(如果找不到記錄)。
- 更新資料庫
以下函數用於更新資料庫中的使用者資訊:
function update_user($id, $name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?"); $stmt->bind_param("sssi", $name, $email, $hashed_password, $id); $stmt->execute(); return $stmt->affected_rows === 1; }
此函數需要四個參數:使用者ID、使用者名、電子郵件地址和密碼。它先使用password_hash()函數將密碼雜湊化。然後,使用prepare()函數準備一個SQL查詢,該查詢將在資料表中更新與提供的ID相符的使用者資訊。 bind_param()函數將參數與查詢佔位符綁定,並執行查詢。最後,使用affected_rows()函數檢查是否更新成功,並傳回一個布林值。
- 從資料庫中刪除資料
以下函數用於從資料庫中刪除使用者資訊:
function delete_user($id) { global $mysqli; $stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); return $stmt->affected_rows === 1; }
此函數需要一個參數:使用者ID。它使用prepare()函數準備一個SQL查詢,該查詢將從資料表中刪除與提供的ID相符的使用者資訊。 bind_param()函數將參數與查詢佔位符綁定,並執行查詢。最後,使用affected_rows()函數檢查是否刪除成功,並傳回布林值。
五、偵錯和最佳化
在任何Web開發過程中,偵錯和最佳化都是非常重要的。為了除錯我們的程式碼,我們可以使用error_reporting()和ini_set()函數。這些函數用於設定錯誤報告等級和顯示錯誤訊息的設定。為了優化我們的程式碼,我們應該盡可能避免在資料庫查詢中出現拼接的字串,而應該使用prepare()函數和bind_param()函數來取代。
六、總結
透過使用PHP和MySQL,我們可以輕鬆地建立具有資料儲存和檢索功能的網路應用程式。在本文中,我們介紹如何使用這兩個技術來實現基本的資料庫操作:建立、讀取、更新和刪除。透過實現上面的程式碼,你將了解如何連接到資料庫、建立資料庫表、新增、讀取、更新和刪除用戶資料。這些技能將對你未來的Web開發工作非常有用。
以上是PHP+MySQL怎麼實作資料庫的增刪改查操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境