最基礎的 PHP 用戶列表頁:連接 MySQL,循環輸出用戶名,每行綁定刪除鏈接攜帶 ID 參數。適合初學者理解「查詢→循環→模板」核心模式。
connect_error) {
die("連接失敗: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");
// 處理刪除請求
if (isset($_GET['delete_id'])) {
$id = (int)$_GET['delete_id'];
$stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->close();
// 重定向防止重複提交
header("Location: user_list.php");
exit;
}
// 查詢用戶列表
$sql = "SELECT id, username FROM users ORDER BY id DESC";
$result = $conn->query($sql);
?>
用戶管理
用戶列表
ID 用戶名 操作
num_rows > 0): ?>
fetch_assoc()): ?>
= htmlspecialchars($row['id']) ?>
= htmlspecialchars($row['username']) ?>
刪除
暫無用戶
close(); ?>
| 步驟 | 代碼片段 | 關鍵點 |
|---|---|---|
| 1. 連接數據庫 | new mysqli(...) | 設置字符集 utf8mb4 |
| 2. 處理刪除 | if (isset($_GET['delete_id'])) | 預處理語句 prepare/bind_param/execute 防注入 |
| 3. 重定向 (PRG 模式) | header("Location: ...") | 防止 F5 重複刪除 |
| 4. 查詢列表 | $conn->query($sql) | 返回 mysqli_result |
| 5. 循環輸出 | while ($row = $result->fetch_assoc()) | 逐行獲取關聯數組 |
| 6. 模板插值 | <?= htmlspecialchars($row['id']) ?> | 輸出轉義防 XSS |
| 7. 綁定操作 | href="?delete_id== $row['id'] ?>" | 主鍵 ID 作為標識 |
LIMIT (page-1)*size, size + 總數查詢WHERE username LIKE ?UPDATE users SET deleted_at=NOW() WHERE id=?PHP 用戶管理入門核心:**mysqli 連接 → 預處理刪除 → PRG 重定向 → query 循環 fetch_assoc → 模板輸出 htmlspecialchars**。掌握此模式,即可構建任意「列表 + 操作」的基礎後台頁面。