mysqli_stmt::execute
mysqli_stmt_execute
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::execute -- mysqli_stmt_execute — Executes a prepared statement
Description
Object-oriented style
If the statement is UPDATE, DELETE,
or INSERT, the total number of affected rows can be
determined by using the mysqli_stmt_affected_rows()
function. If the query yields a result set, it can be fetched using
mysqli_stmt_get_result() function or by fetching it
row by row directly from the statement using
mysqli_stmt_fetch() function.
Parameters
statement Procedural style only: A mysqli_stmt object
returned by mysqli_stmt_init() .
params
An optional list array with as many elements as there are bound parameters in the SQL statement being executed. Each value is treated as a string .
Return Values
Returns true on success or false on failure.
Examples
Example #1 Execute a prepared statement with bound variables
<?php
mysqli_report ( MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT );
$mysqli = new mysqli ( "localhost" , "my_user" , "my_password" , "world" );
$mysqli -> query ( "CREATE TEMPORARY TABLE myCity LIKE City" );
/* Prepare an insert statement */
$stmt = $mysqli -> prepare ( "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)" );
/* Bind variables to parameters */
$stmt -> bind_param ( "sss" , $val1 , $val2 , $val3 );
$val1 = 'Stuttgart' ;
$val2 = 'DEU' ;
$val3 = 'Baden-Wuerttemberg' ;
/* Execute the statement */
$stmt -> execute ();
$val1 = 'Bordeaux' ;
$val2 = 'FRA' ;
$val3 = 'Aquitaine' ;
/* Execute the statement */
$stmt -> execute ();
/* Retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity" ;
$result = $mysqli -> query ( $query );
while ( $row = $result -> fetch_row ()) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
<?php
mysqli_report ( MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT );
$link = mysqli_connect ( "localhost" , "my_user" , "my_password" , "world" );
mysqli_query ( $link , "CREATE TEMPORARY TABLE myCity LIKE City" );
/* Prepare an insert statement */
$stmt = mysqli_prepare ( $link , "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)" );
/* Bind variables to parameters */
mysqli_stmt_bind_param ( $stmt , "sss" , $val1 , $val2 , $val3 );
$val1 = 'Stuttgart' ;
$val2 = 'DEU' ;
$val3 = 'Baden-Wuerttemberg' ;
/* Execute the statement */
mysqli_stmt_execute ( $stmt );
$val1 = 'Bordeaux' ;
$val2 = 'FRA' ;
$val3 = 'Aquitaine' ;
/* Execute the statement */
mysqli_stmt_execute ( $stmt );
/* Retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity" ;
$result = mysqli_query ( $link , $query );
while ( $row = mysqli_fetch_row ( $result )) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
The above examples will output:
Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)
Example #2 Execute a prepared statement with an array of values
<?php
mysqli_report ( MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT );
$mysqli = new mysqli ( 'localhost' , 'my_user' , 'my_password' , 'world' );
$mysqli -> query ( 'CREATE TEMPORARY TABLE myCity LIKE City' );
/* Prepare an insert statement */
$stmt = $mysqli -> prepare ( 'INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)' );
/* Execute the statement */
$stmt -> execute ([ 'Stuttgart' , 'DEU' , 'Baden-Wuerttemberg' ]);
/* Retrieve all rows from myCity */
$query = 'SELECT Name, CountryCode, District FROM myCity' ;
$result = $mysqli -> query ( $query );
while ( $row = $result -> fetch_row ()) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
<?php
mysqli_report ( MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT );
$link = mysqli_connect ( 'localhost' , 'my_user' , 'my_password' , 'world' );
mysqli_query ( $link , 'CREATE TEMPORARY TABLE myCity LIKE City' );
/* Prepare an insert statement */
$stmt = mysqli_prepare ( $link , 'INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)' );
/* Execute the statement */
mysqli_stmt_execute ( $stmt , [ 'Stuttgart' , 'DEU' , 'Baden-Wuerttemberg' ]);
/* Retrieve all rows from myCity */
$query = 'SELECT Name, CountryCode, District FROM myCity' ;
$result = mysqli_query ( $link , $query );
while ( $row = mysqli_fetch_row ( $result )) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
The above examples will output:
Stuttgart (DEU,Baden-Wuerttemberg)