Задать вопрос

Как исправить ошибку Uncaught Error: Call to a member function fetch_assoc()?

Вылезла такая ошибка после переноса сайта:

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on null in /var/www/u1544608/data/www/catalog.php:17 Stack trace: #0 {main} thrown in /var/www/u1544608/data/www/catalog.php on line 17

Код такой:
<?php

  require_once 'connect.php';

?>

<?
if (!empty($_GET['id'])) { 
    $sql = 'SELECT * FROM catalog WHERE id='.intval($_GET['id']).' LIMIT 1'; 
    if ($result = mysqli_query($link, $sql)) { 
        $row = mysqli_fetch_assoc($result); 
        $name = $row['name']; $id = $row['id']; 
        mysqli_free_result($result); 
    } 
} 

while($row = $result->fetch_assoc()) {

                        echo "<div><div class='popular-box'><div class='title'>" . $row["name"] . "<span>" . $row["description"] . "</span></div>"
                          . "<div class='img'><img src='" . $row["img"] . "'></div>"
                          . "<div class='price'>" . $row["price"] . " руб</div>"
                          . "<a href='#modal-order' data-toggle='modal' data-name='" . $row["name"] . "' class=\"modal-name\"><span class='pe-7s-cart'></span></a></div></div>";
                      }
?>


Как это исправить?
  • Вопрос задан
  • 177 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вылезла такая ошибка после переноса сайта:
1) Первое что надо проверить - правильность данных для подключения на новом хостинге.
2) Далее,
<?php
$conn = mysqli_connect("localhost", "root", "pass", "table");
if ($conn === false) {
  die("Ошибка: " . mysqli_connect_error());
} 
mysqli_close($conn);
?>

Если это полный код, и он как-то относится к коду в вопросе, то во первых $conn и $link - что-то одно неверно названо или используется, во вторых mysqli_close($conn); закрывает только что открытое соединение, и тогда вопрос - какой упоротый пингвин это писал?

3) После require_once 'connect.php'; сделайте var_dump($link ); exit();, будет понятно установилось ли соединение, хотя по уму конечно же надо переписать подключение нормально. Ну и проверить какую переменную вы на самом деле должны использовать - $conn или $link ...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@KingstonKMS
Перевести ошибку в гугле и словами описать то, что код выполняет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы