Почему не выводятся товары определенной категории?

У меня проблема следующая — хочу отображать товары определенной категории по клику на соответствующую категорию. Отображаю список товаров через цикл, параметр отправляю, но выдает ошибку «mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in on line 25», хотя без условия цикл отрабатывает верно: Подсказывали уже про WHERE, но я не знаю куда его вставить, если вставить к запросу — то перестает выводиться вообще что-либо. UPD: Массив GET и respItem пустые при попытке посмотреть их через pre и print_r. UPD: С помощью крайнего ответа смог словить подробный текст ошибки:

Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND WHERE Product_ID= 1'

Не понял, плюнул, думаю ладно, перепишу на PDO, чтобы не страдать, но нет — установил OS Panel, закинул пути в VS Code, и тут получил ошибку: «php_network_getaddresses: getaddrinfo failed». Естественно никаких данных я не менял, они такие же как и в mysqli, в переменных. UPD: пофиксил, закинув в переменные среды путь. Теперь ошибку выдает уже сам PDO:

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1049] Unknown database

<?php 
include ./header.php';

    ?>
    <?php
    $queryItem = 'SELECT * FROM ProductCustomer';
    
    if(isset($_GET['item'])){
        $queryItem .= " AND Product_ID=$_GET[item]";
    }
    $respItem = mysqli_query($connDB, $queryItem);
    ?>
    while($outputItem = mysqli_fetch_array($respItem)){
              print("<div class='filterItem posPic'>
            <img src='/img/$outputItem[ProductImg]' class='filterPic'>
                               <p class='posPic'>
                               <br>$outputItem[Name]
                              <br>Цена $outputItem[Price] ₽
                             </p>
                

        </div>");
                             };
    ?>

Ответы (1 шт):

Автор решения: Anton D

Проблема решена. Ошибка была в имени столбца в базе данных. Как мне объяснили, в базе данных было Product_[пробел]ID, но при этом прямой запрос выполнялся корректно, потому что SQL убрал сам лишние пробелы. А при запросе извне, когда в нем было без пробела, а в БД с пробелом, никто автоматически ничего не делал, а я не видел. Вот так вот. Вывод — смотрите внимательнее, или используйте способы именования без подчеркиваний

→ Ссылка