mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5, PHP 7)

mysqli_stmt::execute -- mysqli_stmt_executeEjecuta una consulta preparada

Descripción

Estilo orientado a objetos

mysqli_stmt::execute ( void ) : bool

Estilo por procedimientos

mysqli_stmt_execute ( mysqli_stmt $stmt ) : bool

Ejecuta una consulta que ha sido previamente preparada usando la función mysqli_prepare(). Cuando se ejecutó cualquier marcador de parámetro que existe, será automáticamente reemplazado con los datos apropiados.

Si la sentencia es UPDATE, DELETE, o INSERT, se puede determinar el número total de filas afectadas usando le función mysqli_stmt_affected_rows(). Asimismo, si la consulta produce un conjunto de resultados se usa la función mysqli_stmt_fetch().

Nota:

Al usar mysqli_stmt_execute(), se debe usar la función mysqli_stmt_fetch() para obtener los datos antes de realizar cualquier consulta adicional.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

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

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Preparar una sentencia INSERT */
$consulta "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$sentencia $mysqli->prepare($consulta);

$sentencia->bind_param("sss"$val1$val2$val3);

$val1 'Stuttgart';
$val2 'DEU';
$val3 'Baden-Wuerttemberg';

/* Ejecutar la sentencia */
$sentencia->execute();

$val1 'Bordeaux';
$val2 'FRA';
$val3 'Aquitaine';

/* Ejecutar la sentencia */
$sentencia->execute();

/* cerrar la sentencia */
$sentencia->close();

/* recuperar todas las filas de myCity */
$consulta "SELECT Name, CountryCode, District FROM myCity";
if (
$resultado $mysqli->query($consulta)) {
    while (
$fila $resultado->fetch_row()) {
        
printf("%s (%s,%s)\n"$fila[0], $fila[1], $fila[2]);
    }
    
/* liberar el conjunto de resultados */
    
$resultado->close();
}

/* eliminar la tabla */
$mysqli->query("DROP TABLE myCity");

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace 
mysqli_connect("localhost""mi_usuario""mi_contraseña""world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
}

mysqli_query($enlace"CREATE TABLE myCity LIKE City");

/* Preparar una sentencia INSERT */
$consulta "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$sentencia mysqli_prepare($enlace$consulta);

mysqli_stmt_bind_param($sentencia"sss"$val1$val2$val3);

$val1 'Stuttgart';
$val2 'DEU';
$val3 'Baden-Wuerttemberg';

/* Ejecutar la sentencia */
mysqli_stmt_execute($sentencia);

$val1 'Bordeaux';
$val2 'FRA';
$val3 'Aquitaine';

/* Ejecutar la sentencia */
mysqli_stmt_execute($sentencia);

/* cerrar la sentencia */
mysqli_stmt_close($sentencia);

/* recuperar todas las filas de myCity */
$consulta "SELECT Name, CountryCode, District FROM myCity";
if (
$resultado mysqli_query($enlace$consulta)) {
    while (
$fila mysqli_fetch_row($resultado)) {
        
printf("%s (%s,%s)\n"$fila[0], $fila[1], $fila[2]);
    }
    
/* liberar el conjunto de resultados */
    
mysqli_free_result($resultado);
}

/* eliminar la tabla */
mysqli_query($enlace"DROP TABLE myCity");

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos sería:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Ver también