🎡 數據庫樂園 🎢
通過遊戲學習 PHP 與 MySQL 的互動!
🎫 步驟 1 – 取得樂園門票
函數: mysqli_connect()
用途: 建立網絡伺服器(PHP)與數據庫之間的連接
語法: mysqli_connect(數據庫伺服器位址, 使用者名稱, 使用者密碼, 哪個數據庫)
$link = mysqli_connect(
?,
?,
?,
?
);
請從背包拖曳正確的積木到下方區域:
數據庫伺服器位址
使用者名稱
使用者密碼
哪個數據庫
🎟️ 步驟 2 – 申請樂園資訊許可證
函數: mysqli_query()
用途: 在已連接的數據庫上執行SQL指令並取得結果
語法: mysqli_query(門票, SQL語句)
$result = mysqli_query(
?,
?
);
請從背包拖曳門票($link)和SQL許可證到下方區域:
拖曳 $link 門票到這裡
拖曳 SQL 許可證到這裡
📇 步驟 3 – 從信封中取出資訊卡
函數: mysqli_fetch_assoc()
用途: 從結果中取得下一行資料(格式為關聯式陣列)
為什麼要用 while? 因為信封裡有很多張卡片,需要一張一張取出來!
為什麼要用 $row? $row 就像一個托盤,用來裝載每次取出的卡片!
while ($row = mysqli_fetch_assoc($result)) {
// $row 是一個關聯式陣列,包含這一行的所有欄位
echo $row["id"] . ": " . $row["game_name"];
}
echo $row["id"] . ": " . $row["game_name"];
}
🎮 互動操作區
信封中還有 5 張卡片
🔄 While 循環狀態:
1
檢查:信封還有卡片嗎?
2
取出:將卡片放入 $row
3
處理:讀取 $row 的內容
4
重複:回到步驟 1
📋 已取出的資訊卡
尚未取出任何卡片
💡 關鍵概念解說:
- while 循環:像是不斷重複「打開信封、取出卡片」的動作,直到信封空了為止
- $row 變數:每次取出一張卡片,就放在這個托盤上,方便我們讀取
- 關聯式陣列:卡片上的資訊是用「欄位名稱」來標示的,例如 $row["game_name"]
- 回傳 false:當信封空了,mysqli_fetch_assoc() 會回傳 false,while 循環就結束了
🔢 可選步驟 – 查詢結果總共有多少行
函數: mysqli_num_rows()
用途: 在打開信封前,先查看裡面有多少張資訊卡
語法: mysqli_num_rows($result)
範例: $count = mysqli_num_rows($result);
// 在開始讀取資料前,先知道有多少筆資料
$count = mysqli_num_rows($result);
echo "總共有 " . $count . " 筆資料";
🎯 遊戲玩法說明:
當你在步驟2取得信封($result)後,可以使用這個函數來「偷看」信封中有多少張卡片,而不需要真的打開它!
這在實際應用中很有用,例如:分頁顯示、顯示總數等。
👆
點擊信封查看數量