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

PHP 實作 MySQL 更新記錄:三階段流程完整範例

     編輯:PHP 綜合知識

更新記錄三階段:列表 → 編輯表單 → 處理提交

完整展示如何從資料列表點選修改、進入編輯頁面、提交更新資料庫。

階段 1:顯示列表含修改連結 (view.php)

<?php
$link = mysql_connect("localhost", "root", "密碼");
mysql_select_db("infosystem", $link);
$q = "SELECT * FROM info";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);

echo "";
echo "";
while ($row = mysql_fetch_row($rs)) {
    echo "";
    echo "";
    echo "";
    echo "";
}
echo "
部門姓名PC名稱操作
修改$row[1]$row[2]$row[3]
"; ?>

階段 2:編輯表單預填資料 (modify_do.php)

<?php
$link = mysql_connect("localhost", "root", "密碼");
mysql_select_db("infosystem", $link);
$del_id = $_GET["id"];
$q = "SELECT * FROM info WHERE id=$del_id";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
?>
<html><body>
<form action="modify_finish.php" method="POST">
<?php
echo "";
while ($row = mysql_fetch_object($rs)) {
    echo "";
}
mysql_close($link);
?>
<input type="submit" value="提交">
</form>
</body></html>

階段 3:處理更新提交 (modify_finish.php)

<?php
$link = mysql_connect("localhost", "root", "密碼");
mysql_select_db("infosystem", $link);
mysql_query("SET NAMES GB2312");

$exec = "UPDATE info SET ename='" . $_POST['ename'] . "' WHERE id=" . $_POST['id'];
mysql_query($exec, $link);
echo "修改成功!";
mysql_close($link);
?>

⚠ 安全性重大缺失與修正

上述範例直接拼接 $_POST 變數,**極度危險**,存在 SQL 注入漏洞。

修正版 (PDO + 預處理)

<?php
// modify_finish.php - 安全版
$pdo = new PDO("mysql:host=localhost;dbname=infosystem;charset=utf8", "root", "密碼");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
$ename = filter_input(INPUT_POST, 'ename', FILTER_SANITIZE_STRING);

if ($id === false || !$ename) {
    die("參數錯誤");
}

$stmt = $pdo->prepare("UPDATE info SET ename = ? WHERE id = ?");
$stmt->execute([$ename, $id]);

echo "修改成功! (影響行數: " . $stmt->rowCount() . ")";
?>

流程圖總結

view.php (列表)
   │
   ├─ 點選「修改」 → 傳遞 id 參數
   ▼
modify_do.php (編輯表單)
   │
   ├─ 顯示當前資料於 input value
   ├─ 使用者修改後按「提交」 → POST 送出
   ▼
modify_finish.php (處理更新)
   │
   ├─ 驗證、過濾輸入
   ├─ 執行 UPDATE 預處理語句
   └─ 回饋結果

掌握此流程,可應用於所有「查詢→編輯→更新」的後台管理功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved