首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

PHP mysql_query() 函數詳解:執行 MySQL 查詢的核心方法

     編輯:MySQL 綜合教學

mysql_query() 函數概述

注意: `mysql_query()` 屬於已棄用的 `mysql` 擴展(PHP 5.5.0 棄用,PHP 7.0.0 移除)。新專案請使用 mysqli 或 PDO_MySQL。本文僅供維護舊代碼參考。

語法與參數

resource|bool mysql_query ( string $query [, resource $link_identifier = NULL ] )
  • query:要執行的 SQL 語句,不應以分號結尾。
  • link_identifier:可選,MySQL 連接標識符。省略時使用上一個打開的連接。

返回值說明

SQL 類型成功返回失敗返回
SELECT, SHOW, EXPLAIN, DESCRIBE資源標識符FALSE
INSERT, UPDATE, DELETE, DDL 等TRUEFALSE

關鍵點: 非 FALSE 返回值僅表示語句合法並被服務器執行,不代表影響了多少行。需配合 `mysql_affected_rows()` 或 `mysql_num_rows()` 確認具體影響。

常見用法範例

範例 1:基本查詢流程

$con = mysql_connect("localhost", "mysql_user", "mysql_pwd");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

$sql = "SELECT * FROM Person";
$result = mysql_query($sql, $con);

// 處理結果集...
mysql_free_result($result);
mysql_close($con);

範例 2:建立資料庫

$sql = "CREATE DATABASE my_db";
if (mysql_query($sql, $con)) {
    echo "Database my_db created";
} else {
    echo "Error creating database: " . mysql_error();
}

重要提示

  • 緩存機制: `mysql_query()` 會自動讀取並緩存結果集。大結果集場景下請使用 `mysql_unbuffered_query()` 避免記憶體耗盡。
  • 安全性: 直接拼接變量極易導致 SQL 注入。舊代碼中必須使用 `mysql_real_escape_string()` 轉義,新代碼請改用預處理語句。
  • 遷移建議: 對應關係:`mysql_query()` → `mysqli_query()` 或 `PDO::query()`;資源對象 → `mysqli_result` 或 `PDOStatement`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved