首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP + MySQL 動態網站開發教程(一):Windows 環境建庫、建表、基礎 CRUD 操作

     編輯:MySQL 資料庫相關知識

PHP MySQL 入門教程第一彈:Windows 環境從零建立資料庫與基礎操作

本系列教程面向零基礎學習者,在 Windows 平台手把手建立 Apache + PHP + MySQL 環境,創建資料庫、資料表,掌握命令列與 PHP 代碼雙軌並行的 CRUD 基礎操作,為後續動態網站開發奠基。

環境啟動

  1. 啟動 Apache(已載入 PHP 模組)
  2. 啟動 MySQL 服務
  3. 驗證:瀏覽器訪問 https://localhost/phpinfo.php 確認 PHP 運行;命令列 mysql -u root -p 確認 MySQL 連通

一、MySQL 命令列建庫建表

-- 進入 MySQL 客戶端
mysql -u root -p

-- 查看現有資料庫
SHOW DATABASES;

-- 建立資料庫
CREATE DATABASE example;

-- 切換資料庫
USE example;

-- 建立資料表
CREATE TABLE tbl (
    idx INT(3),
    UserName VARCHAR(30),
    LastName VARCHAR(50),
    FreeText VARCHAR(100)
);

-- 查看表結構
SHOW COLUMNS FROM tbl;
-- 或 DESC tbl;

-- 插入測試資料(預設欄位順序)
INSERT INTO tbl VALUES (1, 'Rafi', 'Ton', 'Just a test');

-- 指定欄位插入(推薦,順序不拘)
INSERT INTO tbl (idx, UserName, LastName, FreeText) 
VALUES (2, 'Alice', 'Wang', 'Hello World');

-- 查詢所有資料
SELECT * FROM tbl;

-- 修改資料
UPDATE tbl SET UserName = 'Berber' WHERE UserName = 'Rafi';
-- 多條件修改
UPDATE tbl SET UserName = 'Rafi' WHERE UserName = 'Berber' AND LastName = 'Ton';

-- 刪除資料(帶 LIMIT 防誤刪)
DELETE FROM tbl WHERE idx = 1 LIMIT 1;

-- 退出
EXIT;

二、核心 SQL 語法速查

操作語法範例關鍵點
建庫CREATE DATABASE db_name;名稱唯一,建議加 CHARACTER SET utf8mb4
建表CREATE TABLE t (id INT, name VARCHAR(50));欄位定義:名稱 類型(長度) 約束
插入INSERT INTO t (id, name) VALUES (1, 'A');指定欄位更安全,值順序對應欄位順序
查詢SELECT id, name FROM t WHERE id = 1;* 表所有欄位,WHERE 篩選
修改UPDATE t SET name='B' WHERE id=1;必帶 WHERE,否則全表修改
刪除DELETE FROM t WHERE id=1 LIMIT 1;必帶 WHERE + LIMIT 1 防誤刪全表

三、PHP 連接 MySQL 基礎範本

<?php
// 連接配置
$host = 'localhost';
$user = 'root';
$pass = 'your_password';
$dbname = 'example';

// 建立連接 (mysqli 面向物件風格)
$conn = new mysqli($host, $user, $pass, $dbname);

// 檢查連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}

// 設定字符集 (關鍵!防亂碼)
$conn->set_charset("utf8mb4");

echo "連接成功!";

// 簡單查詢
$sql = "SELECT * FROM tbl";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "ID: " . $row["idx"] . " - 姓名: " . $row["UserName"] . " " . $row["LastName"] . "<br>";
    }
} else {
    echo "無資料";
}

$conn->close();
?>

四、新手必知的 5 大鐵律

  1. 字符集統一:資料庫、資料表、連接、HTML 頁面、PHP 檔案編碼全部 utf8mb4/UTF-8
  2. 錯誤回報開啟:開發環境 error_reporting(E_ALL); ini_set('display_errors', 1);
  3. 預處理語句:寫入操作永遠用 prepare() + bind_param(),拒絕字串拼接 SQL
  4. 輸出編碼:HTML 輸出動態內容必須 htmlspecialchars()
  5. 資源釋放:$result->free()、$conn->close() 或使用 try-finally 確保釋放

五、常見問題排查

現象可能原因解決方向
連接失敗服務未啟動、端口錯誤、密碼錯誤、skip-name-resolve檢查服務狀態、netstat -an | findstr 3306、重置密碼
中文亂碼字符集不一致全鏈路 utf8mb4、SET NAMES utf8mb4、header('Content-Type: text/html; charset=utf-8')
SQL 語法錯誤保留字衝突、引號缺失、類型不符反引號包裹識別符 `idx`、參數化查詢
權限不足用戶無該庫/表權限GRANT ALL ON example.* TO 'user'@'%'; FLUSH PRIVILEGES;

完成本篇,你已具備:MySQL 命令列基本操作、PHP 連接查詢範本、核心 SQL 語法、避坑鐵律。下一篇將構建完整的「列表 → 新增 → 編輯 → 刪除」CRUD 閉環。

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