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

PHP MySQL 查詢入門:SELECT 語句與結果集處理完整範例

     編輯:MySQL 資料庫相關知識

核心流程

  1. 建立連線:mysqli_connect()
  2. 執行查詢:mysqli_query($conn, "SELECT * FROM example")
  3. 取得結果集:mysqli_fetch_assoc($result) 逐列讀取關聯陣列
  4. 釋放資源:mysqli_free_result($result)
  5. 關閉連線:mysqli_close($conn)

完整範例(現代 mysqli 寫法)

<?php
$conn = mysqli_connect("localhost", "admin", "1admin", "test");
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT * FROM example";
$result = mysqli_query($conn, $sql);
if (!$result) {
    die("Query failed: " . mysqli_error($conn));
}

if ($row = mysqli_fetch_assoc($result)) {
    echo "Name: " . htmlspecialchars($row['name']);
    echo " Age: " . htmlspecialchars($row['age']);
} else {
    echo "No data found.";
}

mysqli_free_result($result);
mysqli_close($conn);
?>

關鍵函數對照

進階:預處理語句(防 SQL 注入)

$stmt = $conn->prepare("SELECT name, age FROM example WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // 處理資料
}
$stmt->close();

常見錯誤避坑

  • 欄位名大小寫敏感:PHP 陣列鍵需與 SQL 欄位名完全一致
  • 未檢查 mysqli_query() 回傳值導致後續報錯
  • 直接輸出資料庫內容未 htmlspecialchars() 造成 XSS
  • 舊 mysql_* 函數已移除,請全面遷移至 mysqli 或 PDO
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
舊 mysql_*新 mysqli (OO)新 mysqli (程序式)
mysql_connect$mysqli = new mysqli()mysqli_connect()
mysql_query$mysqli->query()mysqli_query()
mysql_fetch_array$result->fetch_array()mysqli_fetch_array()
mysql_fetch_assoc$result->fetch_assoc()mysqli_fetch_assoc()
mysql_error$mysqli->errormysqli_error()
mysql_close$mysqli->close()mysqli_close()