Ошибка PHP

NatalieRedFox_333

Чего мне бояться? - подумала Красная Шапочка...)))
Топикстартер
Сообщения
2 089
Реакции
145
всем привет...!!!
подскажите где тут ошибка...изучаю phpMyAdmin SQL

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in C:\xampp\htdocs\abbyy\product_list.php on line 30

тут где то ошибка - в строке while....
Код:
$sql = mysqli_query($link, 'SELECT `ID`, `Name`, `Price` FROM `products`');

    while ($result = mysqli_fetch_array($sql)) {

      echo "<tr><td>{$result['ID']}</td><td>{$result['Name']}</td><td>{$result['Price']} ₽</td></tr>";


Код:
<!doctype html>
<html lang="ru">
<head>
  <title>Админ-панель</title>
</head>
<body>
  <?php
    $host = 'localhost';  // Хост, у нас все локально
    $user = 'user_bd';    // Имя созданного вами пользователя
    $pass = '1q2w3e4r5t'; // Установленный вами пароль пользователю
    $db_name = 'my_db';   // Имя базы данных
    $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой

    // Ругаемся, если соединение установить не удалось
    if (!$link) {
      echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
      exit;
    }
  ?>
</body>
</html>
Теперь выведем все записи из таблицы. Для этого после подключения к БД (перед закрывающимся тегом </body>) вставим следующий код:

<table border='1'>
  <tr>
    <td>Идентификатор</td>
    <td>Наименование</td>
    <td>Цена</td>
  </tr>
  <?php
    $sql = mysqli_query($link, 'SELECT `ID`, `Name`, `Price` FROM `products`');
    while ($result = mysqli_fetch_array($sql)) {
      echo "<tr><td>{$result['ID']}</td><td>{$result['Name']}</td><td>{$result['Price']} ₽</td></tr>";
    }
  ?>
</table>
 
Последнее редактирование:
тут где то ошибка - в строке while....
не скажу что не так с while, но вот эта фраза настораживает
Для этого после подключения к БД (перед закрывающимся тегом </body>) вставим следующий код:
а в листинге код с while как-то отдельно внизу ... нет?
 
да нет пока никакого листинга....я просто тренируюсь....))):)
вот тема -

я уже все перебровала и все равно ошибка вылазит...))) и скобки пробовала и код добавлять...не помогает )))
 
mysqli_fetch_array возвращает bool (false) если не удалось выполнить запрос, так что ошибку надо искать в SQL запросе, в php всё в порядке. SQL запрос выглядит корректным, так что, вероятно ошибка в названиях таблицы или полей, либо они не существуют
 
Последнее редактирование:
mysqli_fetch_array возвращает bool (false) если не удалось выполнить запрос, так что ошибку надо искать в SQL запросе, в php всё в порядке
а что именно там искать и в каком месте?
Я просто сделала тестовую Db и сделала там таблицу.... может там непорядок?

1620482754200.png
 

Вложения

  • Untitled.jpg
    Untitled.jpg
    137.4 КБ · Просм.: 158
Последнее редактирование:
Судя по скриншоту, у вас поля называются id, title и price, вы в запросе выбираете ID, Name и Price. Не помню точно насчет конкретно mysql, зависят ли там имена от регистра, но title и name определенно называются по разному. А вообще, будет полезно найти log-файл от mysql и смотреть в нем ошибки sql-сервера, без них бывает трудно догадаться
 
точно...!!!! исправила, работает.. )))) 'cooll)'

1620483912379.png
 

Вложения

  • Untitled.jpg
    Untitled.jpg
    34.9 КБ · Просм.: 175
  • Untitled.jpg
    Untitled.jpg
    143.2 КБ · Просм.: 163
Последнее редактирование:
да теперь все работает...!!! Спасибо! 'cooll)'