За последние 24 часа нас посетили 11466 программистов и 837 роботов. Сейчас ищут 308 программистов ...

Ошибка в 6 строке кода, никак понять не могу с чем связано.

Тема в разделе "PHP для новичков", создана пользователем RenVenz, 13 окт 2021.

  1. RenVenz

    RenVenz Новичок

    С нами с:
    13 окт 2021
    Сообщения:
    2
    Симпатии:
    0
    <?php

    function load($db, $bd) {
    $echo = "";
    if(auth($db, $bd, $_COOKIE['user'], $_COOKIE['user_id']) {
    $result = mysqli_query($db,"SELECT * FROM `messege`");
    if($result) {
    if(mysqli_num_rows($result) >= 1) {
    while($array = mysqli_fetch_array($result)) {
    $user_result = mysqli_query($bd,"SELECT * FROM users WHERE id='$array[user_id]'");
    if(mysqli_num_rows($user_result) == 1) {
    $user = mysqli_fetch_array($user_result);
    $echo .= "<div class='message'><div class='message__header'><img src='https://via.placeholder.com/30' alt='Avatar' class='message__avatar'><div class='message__author'><div class='message__name'>$user[login]</div><time class='message__role'>Магистр наук</time></div></div><div class='message__text'>$array[message]</div></div>";
    }
    }

    } else {
    $echo = "Нет сообщений!";
    }
    }
    } else {
    $echo = "Проблема авторизации";
    }

    return $echo;
    }

    ?>
     
  2. KingdaKa

    KingdaKa Новичок

    С нами с:
    7 сен 2021
    Сообщения:
    37
    Симпатии:
    10
    Код надо форматировать - это раз.
    Два: какая именно ошибка - скопируйте полностью.

    Код (Text):
    1. <?php
    2.  
    3. echo 'Код надо выделять!';
    4.  
    5. ?>
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.971
    Симпатии:
    574
    Адрес:
    Татарстан
    скорее всего тут
    надо правильно уметь пользоваться кавычками разными
    PHP:
    1. $user_result = mysqli_query($bd,"SELECT * FROM users WHERE id='{$array['user_id']}'");
    ну и не устану повторять - запросы в цикле - это зло! в 99.9999% от них можно избавится сделав один запрос
     
  4. KingdaKa

    KingdaKa Новичок

    С нами с:
    7 сен 2021
    Сообщения:
    37
    Симпатии:
    10
    А еще имена столбцов и полей можно заворачивать в `backticks`, если это зарезервированное слово MySQL. А их довольно прилично.
    Есть риск напороться :)
     
  5. Sviridov

    Sviridov Новичок

    С нами с:
    22 сен 2021
    Сообщения:
    20
    Симпатии:
    3
    Если честно очень лень считать строки
    ладно, так уж и быть
    >= на поменяйте =>
    хотя в вашем случае я бы юзал > 0
     
  6. don.bidon

    don.bidon Новичок

    С нами с:
    28 мар 2021
    Сообщения:
    306
    Симпатии:
    47
    Название таблицы никого не смутило?
    Код (Text):
    1. `messege`
     
    SamyRed нравится это.
  7. Sviridov

    Sviridov Новичок

    С нами с:
    22 сен 2021
    Сообщения:
    20
    Симпатии:
    3
    чето я бред написал по поводу >= и =>, всё ок у вас, сорян
     
  8. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.171
    Симпатии:
    110
    Адрес:
    Украина
    А я бы использовал просто
    PHP:
    1. if ($result->num_rows)
     
    Sviridov нравится это.
  9. RenVenz

    RenVenz Новичок

    С нами с:
    13 окт 2021
    Сообщения:
    2
    Симпатии:
    0
    Как раз таки про ошибку я и не знал, поэтому и спрашивал. Но ошибку я давно нашел
    --- Добавлено ---
    Нет, я там все верно задал. А на счет запроса в базу, просто устал искать ошибку и запихнул запрос туда.
     
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.171
    Симпатии:
    110
    Адрес:
    Украина
    Ничего не понятно, но интересно - пипец как