За последние 24 часа нас посетили 20508 программистов и 1089 роботов. Сейчас ищут 1036 программистов ...

Ошибка при чтении из базы данных

Тема в разделе "PHP для новичков", создана пользователем Gelver, 24 май 2022.

Метки:
  1. Gelver

    Gelver Новичок

    С нами с:
    24 май 2022
    Сообщения:
    3
    Симпатии:
    0
    При запросе на чтение всех данных из БД возникают ошибки

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in W:\domains\AIM\php\armour.php on line 4


    • Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in W:\domains\AIM\php\armour.php on line 11

    Редактор ошибок никаких не указывает . Что нужно сделать ? Объясните пожалуйста по подробнее , с php знакомлюсь совсем недавно

    • PHP:
      1. require_once  'connect.php';
      2. $result = mysqli_query($connection, "SELECT * FROM `armour`" );
      3.  
      4. ?>
      5.  
      6. <ul>
      7.     <?php
      8.  
      9.     while(($cat=mysqli_fetch_assoc($result)))
      10.     {
      11.         echo '<li>' . $cat['title'] . '</li>';
      12.     }
      13.  
      14.     ?>
      15.     </ul>
     
    #1 Gelver, 24 май 2022
    Последнее редактирование: 24 май 2022
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Сделать так, чтобы переменная $connection оказалась объектом класса mysqli, а не содержала значение null (если именно эта переменная инициализируется в скрипте 'connect.php'
     
  3. Gelver

    Gelver Новичок

    С нами с:
    24 май 2022
    Сообщения:
    3
    Симпатии:
    0
    Как можно это сделать ? в скрипте connect.php вот так
    PHP:
    1. <?php
    2.  
    3. $connect = mysqli_connect('localhost', 'root', '', 'a.i.m.');
    4.  
    5. if (!$connect) {
    6.     die('Error connect to DataBase');
    7. }
    8.  
    9. ?>
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    $connect и $connection - немного разные слова, вам не кажется?
     
  5. Gelver

    Gelver Новичок

    С нами с:
    24 май 2022
    Сообщения:
    3
    Симпатии:
    0
    да разные , но не совсем понимаю что вы хотите донести
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Тогда идите во двор в песочнице играться :)
    --- Добавлено ---
    В mysqli_query() в качестве параметра принимается то, что возвращается ф-цией mysqli_connect().
    --- Добавлено ---
    Кста, вставлять файлы, в которых сразу выполняется код, в большинстве случае плохая идея. Из-за этого и могла произойти потеря фокуса на имя переменной. Лучше делать так:
    PHP:
    1. require_once 'connect.php';
    2.  
    3. if (!($connect = mysqli_open()))
    4. {
    5.     die('Error connect to DataBase');
    6. }
    7.  
    8. if (!($result = mysqli_query($connect, "SELECT * FROM `armour`")))
    9. {
    10.     die('Error on query!');
    11. }
    12.  
    13. ...
    Потом можно перейти на использование исключений.
    --- Добавлено ---
    P.S. Если не понятно, mysqli_open() – обертка над mysqli_connect(), объявленная во включаемом файле.
    --- Добавлено ---
    P.P.S. Есть еще вариант с or die(), чтобы было короче ;)