当前位置: 首页> 函数类别大全> mysqli::multi_query

mysqli::multi_query

(mysqli_multi_query)对数据库执行查询
名称:mysqli::multi_query
分类:MySQLi
所属语言:php
一句话介绍:在数据库上执行一个或多个查询。

mysqli::multi_query

函数名

mysqli::multi_query

适用 PHP 版本

PHP 5, PHP 7, PHP 8

函数说明

mysqli::multi_query 用于执行一条或多条以分号分隔的 SQL 语句。该函数通常用于一次执行多条 SQL 查询,比如在安装程序中批量创建数据表。

函数语法

面向对象风格:
bool mysqli::multi_query(string $query)

过程化风格:
bool mysqli_multi_query(mysqli $link, string $query)

参数

  • query:要执行的一个或多个以分号分隔的 SQL 语句字符串。

返回值

如果第一个语句执行成功,则返回 true。否则返回 false。如果返回 true,可以使用 mysqli::store_result()mysqli::use_result() 获取第一个结果集,并使用 mysqli::next_result() 移动到下一个结果集。

示例

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
<p>if ($mysqli->connect_errno) {<br>
echo "连接失败: " . $mysqli->connect_error;<br>
exit();<br>
}</p>
<p>$sql = "INSERT INTO test (name) VALUES ('Alice');";<br>
$sql .= "INSERT INTO test (name) VALUES ('Bob');";<br>
$sql .= "SELECT * FROM test;";</p>
<p>if ($mysqli->multi_query($sql)) {<br>
do {<br>
if ($result = $mysqli->store_result()) {<br>
while ($row = $result->fetch_assoc()) {<br>
echo "Name: " . $row["name"] . "<br>";<br>
}<br>
$result->free();<br>
}<br>
} while ($mysqli->more_results() && $mysqli->next_result());<br>
} else {<br>
echo "多查询执行失败: " . $mysqli->error;<br>
}</p>
<p>$mysqli->close();<br>
?><br>

示例代码的说明

上面的示例中,我们首先通过 mysqli 创建连接,然后构造了一串包含两个 INSERT 和一个 SELECT 的 SQL 语句,通过 multi_query 一次性执行它们。如果有结果集返回(如 SELECT),就用 store_result 取出结果并循环输出。通过 next_result 移动到下一个结果集。

同类函数
热门文章