Пресловутый mysqli_fetch_assoc() в WordPress

185
06 сентября 2021, 05:30

Знаю, что много уже написано на тему ошибок с mysqli_fetch_assoc() Но вот снова... В ВП пытаюсь вывести массив в таблицу из БД Код простенький:

<?php
...
global $wpdb;
$truck = $wpdb->get_results("SELECT * FROM $table_name");
if ($truck) {
    echo 
    '<table class="table">' .
        '<thead>' .
        '<tr>' .
        '<th>Имя</th>' .
        // другие заголовки
        '</thead>'; 
    while ($row = mysqli_fetch_assoc($truck)) {
        echo '<tr>' .
        '<td>' . $row['truck_name'] . '</td>' .
        // другие строки
        '</tr>';
    }
    echo '</table>';
    mysqli_free_result($truck);   
 }
?>

Получаю "Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, array given in..."

При этом

$my_array=array($truck);
foreach($my_array as $myarr)
{
  print_r ($myarr) ."<br />";
}

массив выводит. Что не так?

Answer 1

Вам этот fetch не нужен вообще. get_results()возвращает массив объектов. Работать с ним надо так:

$rows = get_results(...);
foreach($rows as $row) {
    echo $row->truck_name;
   ...
} 
READ ALSO
Поясните что за конструкция? ${&#39;

Поясните что за конструкция? ${'

В этом фрагменте мы получаем строки от $rand->getValue(), далее разбиваем их на массив дабы каждая строка была в каждом элементе массива, но что проиходит...

274
Webasyst ShopScript 7 ошибка Call to undefined method getLayout code 500 при разработке плагина

Webasyst ShopScript 7 ошибка Call to undefined method getLayout code 500 при разработке плагина

Занимаюсь разработкой плагина, в котором должно выполняться действие по ajax

182
Как получить пользователей для которых завершена обработка и посчитать сколько дней на это потрачено? [закрыт]

Как получить пользователей для которых завершена обработка и посчитать сколько дней на это потрачено? [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

287