0

Подскажите пожалуйста, почему выбивает ошибки и как их устранить? Благодарю заранее.

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www1/znannya.o3.ua/okk/views/feed_panel.php on line 69

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www1/znannya.o3.ua/okk/views/feed_panel.php on line 74

            while($table = mysqli_fetch_array($result)) { // go through each row that was returned in $result
            if($table[0] != "workers")
            {
                echo "<tr><p>"; echo("<td>". substr($table[0], 0, -3). "<BR>"); echo "</p></td>";   // print the table that was returned on that row.
        }
        $count = mysqli_query($link, &quot;SELECT COUNT(feedback) + COUNT(feedback_1) FROM `$table[0]`&quot;);
        while($cout = mysqli_fetch_array($count))
        {
            echo &quot;&lt;p&gt;&quot;; echo(&quot;&lt;td&gt;&quot;. $cout[0]. &quot;&lt;BR&gt;&quot;); echo &quot;&lt;/p&gt;&lt;/td&gt;&quot;; 
        }
        $countt = mysqli_query($link, &quot;SELECT COUNT(explanatory_1) + COUNT(explanatory_2) + COUNT(explanatory_3) + COUNT(explanatory_4) FROM `$table[0]`&quot;);
        while($couts = mysqli_fetch_array($countt))
        {
            echo &quot;&lt;p&gt;&quot;; echo(&quot;&lt;td&gt;&quot;. $couts[0]. &quot;&lt;BR&gt;&quot;); echo &quot;&lt;/p&gt;&lt;/tr&gt;&lt;/td&gt;&quot;; 
        }
    }

Ошибки в данных строках даёт:

while($cout = mysqli_fetch_array($count))

while($couts = mysqli_fetch_array($countt))

  • *попытался исправлять - не вышло. Может кто-то подскажет как пофиксить? Только не кидайтесь тапочками :( – Андрей Котов May 21 '19 at 10:07
  • я так понимаю что mysqli_query возвращает false в случае ошибки, вполне вероятно что это ваш случай, проверьте после каждого вызова этой функции наличие ошибок var_dump(mysqli_error_list($link)) Ну и по хорошему из этого нужно сделать нормальную проверку после каждого вызова, чтобы такое потом не случалось после того как отвалилась DB или еще чего – zippp May 21 '19 at 10:08
  • @zippp что-то подобное выдало: array(1) { [0]=> array(3) { ["errno"]=> int(1054) ["sqlstate"]=> string(5) "42S22" ["error"]=> string(41) "Unknown column 'feedback' in 'field list'" } } – Андрей Котов May 21 '19 at 10:10
  • 1
    ну и вперед - в запросе COUNT(feedback) ссылается на колонку, которой нет в таблице $table[0]. Т.е скорей всего в $table[0] неправильные данные, распечатывайте что в ней – zippp May 21 '19 at 10:17
  • @zippp $table[0] - это названия таблиц. В них есть feedback строка - там текст (нужно вывести количество этих строк), оно вроде выводит - но выводит эту ошибку. Что может быть не так? – Андрей Котов May 21 '19 at 10:22
  • Андрей, все просто - распечатайте название таблицы. Если там неправильное название, то это причина проблемы, если правильное, то залезьте в базу данных и посмотрите есть ли в этой таблице колонка feedback – zippp May 21 '19 at 10:24
  • @zippp Может ли это быть из-за этого? if($table[0] != "workers") - я таким способом не вывожу данную таблицу в никнеймы, а в других запросах данной строки нету (не знаю как указать) – Андрей Котов May 21 '19 at 10:37
  • 1
    Андрей, распечатайте всю строку выборки "SELECT COUNT(feedback) + COUNT(feedback_1) FROM $table[0]" и думаю все будет понятно. Ошибка ведь ясно указывает, что "Unknown column 'feedback' in 'field list'" т.е такой колонки нет в таблице, следовательно или запрос из не той таблицы или в таблице нет такой колонки – zippp May 21 '19 at 10:41

0 Answers0