mysqli::multi_query

mysqli_multi_query

(PHP 5, PHP 7, PHP 8)

mysqli::multi_query -- mysqli_multi_queryRealiza una consulta a la base de datos

Descripción

Estilo orientado a objetos

mysqli::multi_query(string$query): bool

Estilo por procedimientos

mysqli_multi_query(mysqli$link, string$query): bool

Ejecuta una o múltiples consultas concatenadas por puntos y comas.

Para obtener el juego de resultados de la primera consulta se puede usar mysqli_use_result() o mysqli_store_result(). El resto de resultados de consultas se pueden obtener usando mysqli_more_results() y mysqli_next_result().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

query

Consulta, en forma de string.

Los datos dentro de la consulta debe estar correctamente escapados.

Valores devueltos

Devuelve false si la primera sentencia falló. Para obtener el resto de errores de otras sentencias debe llamarse antes a mysqli_next_result().

Ejemplos

Ejemplo #1 Ejemplo de mysqli::multi_query()

Estilo orientado a objetos

<?php
$mysqli
= new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");


if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";


if ($mysqli->multi_query($query)) {
do {

if ($result = $mysqli->store_result()) {
while (
$row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->free();
}

if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while (
$mysqli->next_result());
}


$mysqli->close();
?>

Estilo por procedimientos

<?php
$link
= mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");


if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";


if (mysqli_multi_query($link, $query)) {
do {

if ($result = mysqli_store_result($link)) {
while (
$row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}

if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (
mysqli_next_result($link));
}


mysqli_close($link);
?>

El resultado de los ejemplos sería algo similar a:

my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer

Ver también

To Top