PHP mysqli multi_query() 函式
示例 - 面向物件風格
對資料庫執行多個查詢
<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");
if ($mysqli -> connect_errno) {
echo "連線 MySQL 失敗: " . $mysqli -> connect_error;
exit();
}
$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";
// 執行多查詢
if ($mysqli -> multi_query($sql)) {
do {
// 儲存第一個結果集
if ($result = $mysqli -> store_result()) {
while ($row = $result -> fetch_row()) {
printf("%s\n", $row[0]);
}
$result -> free_result();
}
// 如果還有更多結果集,則列印分隔符
if ($mysqli -> more_results()) {
printf("-------------\n");
}
// 準備下一個結果集
} while ($mysqli -> next_result());
}
$mysqli -> close();
?>
請看底部的過程式風格示例。
定義和用法
multi_query() / mysqli_multi_query() 函式可對資料庫執行一個或多個查詢。查詢之間用分號分隔。
語法
面向物件風格
$mysqli -> multi_query(query)
過程式風格
mysqli_multi_query(connection, query)
引數值
引數 | 描述 |
---|---|
connection | 必需。指定要使用的 MySQL 連線 |
query | 必需。指定一個或多個用分號分隔的查詢 |
技術詳情
返回值 | 如果第一個查詢失敗,則返回 FALSE |
---|---|
PHP 版本 | 5+ |
示例 - 過程式風格
對資料庫執行多個查詢
<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
echo "連線 MySQL 失敗: " . mysqli_connect_error();
exit();
}
$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";
// 執行多查詢
if (mysqli_multi_query($con, $sql)) {
do {
// 儲存第一個結果集
if ($result = mysqli_store_result($con)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
// 如果還有更多結果集,則列印分隔符
if (mysqli_more_results($con)) {
printf("-------------\n");
}
// 準備下一個結果集
} while (mysqli_next_result($con));
}
mysqli_close($con);
?>
❮ PHP MySQLi 參考