首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 資料庫更新操作實戰教學:從查詢到修改的完整流程

     編輯:PHP 綜合知識

PHP MySQL 資料更新實作指南

在 Web 開發中,資料庫的更新操作是核心功能之一。本文將透過一個完整的 PHP 範例,示範如何實作「查詢用戶列表 → 選擇特定用戶 → 顯示編輯表單 → 執行更新」的完整流程。

核心程式碼解析

以下範例使用傳統的 mysql_* 函數(現代開發建議改用 PDO 或 MySQLi),展示基本邏輯:

<?php
// 1. 建立資料庫連線
$db = mysql_connect("localhost", "root");
mysql_select_db("mysite", $db);

// 2. 判斷是否有傳入 ID 參數
if (!isset($id)) {
    // 2-1. 無 ID:顯示用戶列表供選擇
    $result = mysql_query("SELECT * FROM user", $db);
    if ($myrow = mysql_fetch_array($result)) {
        echo "<h2 align='left'>請選擇要修改的用戶名字:</h2>";
        do {
            printf(
                "%s<a href='%s?id=%s'>%s </a><br>\n",
                $myrow["id"],
                $PHP_SELF,
                $myrow["id"],
                $myrow["name"]
            );
        } while ($myrow = mysql_fetch_array($result));
    } else {
        echo "對不起!資料庫中沒有記錄";
    }
} else {
    // 3. 有 ID:進入編輯或更新流程
    if (isset($_POST['submit'])) {
        // 3-1. 執行更新
        $sql = "UPDATE user SET 
                name='{$_POST['name']}', 
                city='{$_POST['city']}', 
                address='{$_POST['address']}', 
                email='{$_POST['email']}' 
                WHERE id={$id}";
        mysql_query($sql);
        echo "謝謝!資料更改完成";
    } else {
        // 3-2. 顯示編輯表單
        $sql = "SELECT * FROM user WHERE id={$id}";
        $result = mysql_query($sql);
        $myrow = mysql_fetch_array($result);
?>
        <h2 align="left">請對用戶的信息進行修改:</h2>
        <form method="post" action="">
            <input type="hidden" name="id" value="">
            姓名:<input type="text" name="name" value=""><br>
            城市:<input type="text" name="city" value=""><br>
            住址:<input type="text" name="address" value=""><br>
            電子郵件:<input type="text" name="email" value=""><br>
            <input type="submit" name="submit" value="修改完畢">
        </form>

關鍵邏輯說明

  • 雙重模式:同一支程式透過 $id 參數判斷是「列表模式」還是「編輯模式」。
  • 資料回填:編輯時先查詢該筆資料,將值填入表單 value 屬性。
  • 表單送出:使用 POST 方式提交,隱藏欄位保留 id。

安全性與現代化建議

⚠️ 重要提醒:mysql_* 函數已於 PHP 7.0 移除,實際專案請採用:

  • PDO:支援多種資料庫、預處理語句防 SQL 注入
  • MySQLi:物件導向風格、效能較好

並務必使用預處理語句處理使用者輸入,避免 SQL Injection 風險。

完整流程圖解

  1. 使用者造訪 update.php → 顯示所有用戶連結
  2. 點選某用戶 → URL 變為 update.php?id=5
  3. 程式查詢 ID=5 的資料 → 顯示預填表單
  4. 使用者修改欄位 → 按下「修改完畢」
  5. 表單 POST 回同一支程式 → 執行 UPDATE SQL
  6. 顯示成功訊息
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved