PHP Tricks
January 4, 2023

Новое в PHP 8.2: mysqli_execute_query / mysqli::execute_query

В продолжение моей предидущей статьи хочу написать об ещё одном приятном нововведении в модуле mysqli
Начиная с версии PHP 8.2.0 появляется новая функция mysqli_execute_query или mysqli::execute_query если Вы предпочитаете объектно-ориентированный стиль.
Данная функция позволяет убить двух (трёх) зайцев сразу:

  • сгенерировать подготовленное выражение
  • выполнить его подставив значения из массива переменных
  • получить результат в виде ассоциативного массива

Давайте попробуем это на практике:

<?php
$query = 'SELECT Name FROM City WHERE District=? ORDER BY Name LIMIT 5';

/* здесь происходит магия */
$result = $mysqli->execute_query($query, ['Nordrhein-Westfalen']);
/* здесь происходит магия */

foreach ($result as $row) {
    printf("%s \n", $row["Name"]);
}

Вы можете проверить этот код на PHPize.online