mysqli::execute_query
mysqli_execute_query
(PHP 8 >= 8.2.0)
mysqli::execute_query -- mysqli_execute_query — Prepares, binds parameters, and executes SQL statement
Опис
Об'єктно-орієнтований стиль
The statement template can contain zero or more question mark
(?) parameter markers—also called placeholders.
The parameter values must be provided as an array using
params parameter.
A prepared statement is created under the hood but it's never exposed
outside of the function. It's impossible to access properties of the
statement as one would do with the mysqli_stmt object.
Due to this limitation, the status information is copied to the
mysqli object and is available using its methods, e.g.
mysqli_affected_rows() or mysqli_error().
Зауваження:
In the case where a statement is passed to
mysqli_execute_query() that is longer than
max_allowed_packet of the server, the returned
error codes are different depending on the operating system.
The behavior is as follows:
Параметри
-
mysql Тільки процедурний стиль:
об'єкт mysqli, якого повертає функція
mysqli_connect() або
mysqli_init()
query
-
The query, as a string. It must consist of a single SQL statement.
The SQL statement may contain zero or more parameter markers
represented by question mark (?) characters
at the appropriate positions.
Зауваження:
The markers are legal only in certain places in SQL statements.
For example, they are permitted in the VALUES()
list of an INSERT statement (to specify column
values for a row), or in a comparison with a column in a
WHERE clause to specify a comparison value.
However, they are not permitted for identifiers (such as table or
column names).
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.
Значення, що повертаються
Returns false on failure. For successful queries which produce a result
set, such as SELECT, SHOW, DESCRIBE or
EXPLAIN, returns
a mysqli_result object. For other successful queries,
returns true.
Приклади
Приклад #1 mysqli::execute_query() example
Об'єктно-орієнтований стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');
$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = $mysqli->execute_query($query, ['DEU']);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = mysqli_execute_query($link, $query, ['DEU']);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}
Подані вище приклади виведуть
щось схоже на:
Aachen (Nordrhein-Westfalen)
Augsburg (Baijeri)
Bergisch Gladbach (Nordrhein-Westfalen)
Berlin (Berliini)
Bielefeld (Nordrhein-Westfalen)