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

PHP MySQL 查詢操作:從連線到資料讀取完整範例

     編輯:PHP 相關知識

PHP 傳統 MySQL 擴充套件查詢實作

本文展示使用已淘汰的 mysql_* 函式庫進行資料庫查詢的基本流程。注意:PHP 7.0+ 已移除此擴充套件,新專案請改用 MySQLi 或 PDO。

基礎查詢流程

<?php
// 1. 建立連線
$conn = mysql_connect("127.0.0.1", "root", "root");
if (!$conn) {
    die("連線失敗: " . mysql_error());
}

// 2. 選擇資料庫
mysql_select_db("tools", $conn);

// 3. 執行查詢
$result = mysql_query("SELECT * FROM admin");
if (!$result) {
    die("查詢錯誤: " . mysql_error());
}

// 4. 遍歷結果集
while ($row = mysql_fetch_array($result)) {
    echo $row["name"] . " " . $row["pass"] . "<br>";
}

// 5. 釋放資源與關閉連線
mysql_free_result($result);
mysql_close($conn);
?>

關鍵函式說明

函式用途備註
mysql_connect()建立資料庫連線回傳連線識別資源
mysql_select_db()選擇預設資料庫後續查詢無需指定資料庫名
mysql_query()執行 SQL 語句SELECT 回傳結果集資源,其他回傳布林值
mysql_fetch_array()取得下一列關聯/數值陣列亦可用 mysql_fetch_assoc() 僅取關聯陣列
mysql_free_result()釋放結果集佔用記憶體大量資料查詢後建議呼叫
mysql_close()關閉資料庫連線腳本結束會自動關閉,明確呼叫較佳

現代化替代方案:MySQLi 物件導向寫法

<?php
$mysqli = new mysqli("127.0.0.1", "root", "root", "tools");
if ($mysqli->connect_errno) {
    die("連線失敗: " . $mysqli->connect_error);
}

$stmt = $mysqli->prepare("SELECT name, pass FROM admin");
$stmt->execute();
$stmt->bind_result($name, $pass);

while ($stmt->fetch()) {
    echo htmlspecialchars($name) . " " . htmlspecialchars($pass) . "<br>";
}

$stmt->close();
$mysqli->close();
?>

遷移建議

  • 安全性:MySQLi/PDO 支援預處理語句,有效防止 SQL 注入
  • 效能:預處理語句可重複執行,減少解析開銷
  • 功能:支援交易、多重查詢、非同步操作等進階特性
  • 相容性:PHP 7/8 完全支援,長期維護無憂
最佳實務:所有使用者輸入參數化、錯誤處理機制化、連線資訊設定檔化、敏感資料輸出時轉義。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved