首頁 >後端開發 >php教程 >如何在 PHP 中獨立執行多個 MySQL 查詢?

如何在 PHP 中獨立執行多個 MySQL 查詢?

DDD
DDD原創
2024-12-03 06:10:10169瀏覽

How Can I Execute Multiple MySQL Queries Independently in PHP?

使用PHP 將多個MySQL 查詢作為一個執行

問題:

您需要執行兩個單獨的SQLSQL查詢並處理他們的結果在PHP 中獨立。查詢是:

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();

答案:

在 PHP 中使用標準 mysql_ 擴展,不可能將多個查詢作為單一交易執行。但是,您可以透過以下步驟獲得所需的結果:

  1. 執行第一個查詢:
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;";
$result1 = mysql_query($query1);
  1. 執行第二個查詢:
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
  1. 取得第一個查詢的結果:
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
  1. 取得第二次的結果query:
$totalRows = mysql_fetch_row($result2)[0];

執行下列步驟,您可以獨立執行兩個查詢並單獨處理它們的結果。請注意,這種方法不如將它們作為單一事務執行那麼有效,但這是使用 mysql_ 擴充實現所需結果的唯一方法。

替代解決方案(已棄用):

更新: 以前認為可以使用mysql_connect() 函數在一條語句中執行多個查詢帶有旗幟。但是,此方法已被棄用,不應使用。

現代解決方案:

對於現代 PHP 應用程序,建議使用 PDO(PHP 數據) Objects) 用於資料庫交互的擴展。 PDO 提供了一種更面向物件且一致的方式來執行 SQL 查詢並檢索其結果。使用 PDO,您可以如下執行兩個查詢:

$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt1 = $pdo->prepare($query1);
$stmt2 = $pdo->prepare($query2);

$stmt1->execute();
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);

$stmt2->execute();
$totalRows = $stmt2->fetchColumn();

此解決方案比舊的 mysql_ 擴充功能更有效率且更易於使用。

以上是如何在 PHP 中獨立執行多個 MySQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn