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

PHP MySQL 查詢資料並以表單顯示編輯

     編輯:PHP 相關知識

完整流程

<?php
session_start();
$conn = mysqli_connect('localhost', 'root', 'root', 'demo');
mysqli_set_charset($conn, 'gbk');
$user = $_SESSION['username'] ?? '';
$sql = "SELECT * FROM blog WHERE author='$user' ORDER BY id DESC";
$res = mysqli_query($conn, $sql);
?>
<?php while ($row = mysqli_fetch_assoc($res)): ?>
<form method="post">
<table border="1" width="100%">
  <tr><td width="100">作者:</td>
      <td><?= htmlspecialchars($user) ?> &nbsp; <?= $row['redate'] ?></td></tr>
  <tr><td>標題:</td><td><?= htmlspecialchars($row['title']) ?></td></tr>
  <tr><td>內容:</td><td><?= htmlspecialchars($row['content']) ?></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" name="sub" value="修改"></td></tr>
</table>
</form><br>
<?php endwhile; ?>

資料表結構

CREATE TABLE `blog` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `author` VARCHAR(50) NOT NULL,
  `title` VARCHAR(50) NOT NULL,
  `content` TEXT,
  `redate` DATE NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

安全與改進重點

  • 原碼直接拼接變數進 SQL,**極高風險 SQL Injection**,必須改用 prepare() + bind_param()。
  • 輸出前務必 htmlspecialchars() 防 XSS。
  • 密碼不應明文儲存,請用 password_hash()。
  • 編輯功能建議另建 edit.php?id=...,採用 POST + CSRF Token 驗證。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved