English | 简体中文 | 繁體中文
查询

mysqli::multi_query()函数—用法及示例

「 执行多个SQL查询 」


mysqli::multi_query()函数用于执行多个SQL查询。

用法:

mysqli::multi_query(string $query)

参数:

  • $query:包含多个SQL查询语句的字符串。

返回值:

  • 如果查询成功,则返回true。
  • 如果查询失败,则返回false。

注意事项:

  • 该函数执行多个SQL查询,每个查询之间使用分号(;)分隔。
  • 该函数只能用于执行多个查询,不能用于执行存储过程或函数。

示例:

$mysqli = new mysqli("localhost", "username", "password", "database");

// 检查连接是否成功
if ($mysqli->connect_errno) {
    echo "连接数据库失败: " . $mysqli->connect_error;
    exit();
}

// 执行多个查询
$query = "SELECT * FROM table1; SELECT * FROM table2; SELECT * FROM table3";
if ($mysqli->multi_query($query)) {
    do {
        // 获取结果集
        if ($result = $mysqli->store_result()) {
            // 处理结果集
            while ($row = $result->fetch_assoc()) {
                // 输出数据
                echo $row['column1'] . " " . $row['column2'] . "<br>";
            }
            // 释放结果集
            $result->free();
        }
        // 检查是否还有更多的结果集
        if ($mysqli->more_results()) {
            // 转到下一个结果集
            $mysqli->next_result();
        }
    } while ($mysqli->more_results());
} else {
    echo "查询失败: " . $mysqli->error;
}

// 关闭数据库连接
$mysqli->close();

上述示例中,我们首先创建了一个mysqli对象,并连接到数据库。然后,我们使用multi_query()函数执行了三个查询语句。在循环中,我们使用store_result()方法获取每个查询的结果集,并使用fetch_assoc()方法遍历结果集中的行。最后,我们检查是否还有更多的结果集,并使用next_result()方法转到下一个结果集。循环结束后,我们关闭了数据库连接。

补充纠错
上一个函数: mysqli::next_result()函数
下一个函数: mysqli::more_results()函数
热门PHP函数
分享链接