mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::execute -- mysqli_stmt_executeExecutes a prepared statement

Description

Object-oriented style

public mysqli_stmt::execute(?array $params = null): bool

Procedural style

mysqli_stmt_execute(mysqli_stmt $statement, ?array $params = null): bool

Executes previously prepared statement. The statement must be successfully prepared prior to execution, using either the mysqli_prepare() or mysqli_stmt_prepare() function, or by passing the second argument to mysqli_stmt::__construct().

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.

Changelog

Version Description
8.1.0 The optional params parameter has been added.

Examples

Example #1 Execute a prepared statement with bound variables

Object-oriented style

<?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]);
}

Procedural style

<?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

Object-oriented style

<?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]);
}

Procedural style

<?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)

See Also

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe
There are no comments available yet.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Category: Software & Web-Development

PHP cURL Tutorial: Using cURL to Make HTTP Requests

cURL is a powerful PHP extension that allows you to communicate with different servers using various protocols, including HTTP, HTTPS, FTP, and more. ...

TheMax

Autor : TheMax
Category: PHP-Tutorials

Midjourney Tutorial - Instructions for beginners

There is an informative video about Midjourney, the tool for creating digital images using artificial intelligence, entitled "Midjourney tutorial in German - instructions for beginners" ...

Mike94

Autor : Mike94
Category: KI Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial