Size: a a a

2020 December 08

М

Максим in phpGeeks
Но не работает
источник

М

Максим in phpGeeks
Поставил нгинкс всё та же ошибка. Получается он стучится ко мне, но пхп скрипт не видит 🤔

UPD
Всегда нужно проверять то что вписываете в конфиги. Особенно урлы xD
источник

AM

Alice Monstrik in phpGeeks
Подскажите пожалуйста, почему не выводятся с бд продукты?

модель
<?php

class Product
{
   const SHOW_BY_DEFAULT = 10;

   public static function getLatestProducts($count = self::SHOW_BY_DEFAULT)
   {
       // Соединение с БД
       $db = Db::getConnection();

       // Текст запроса к БД
       $sql = 'SELECT id_product, productname, priceperone FROM product';

       // Используется подготовленный запрос
       $result = $db->prepare($sql);
       $result->bindParam(':count', $count, PDO::PARAM_INT);

       // Указываем, что хотим получить данные в виде массива
       $result->setFetchMode(PDO::FETCH_ASSOC);
       
       // Выполнение коменды
       $result->execute();

       // Получение и возврат результатов
       $i = 0;
       $productsList = array();
       while ($row = $result->fetch()) {
           $productsList[$i]['id_product'] = $row['id_product'];
           $productsList[$i]['productname'] = $row['productname'];
           $productsList[$i]['priceperone'] = $row['priceperone'];
           // $productsList[$i]['img'] = $row['img'];
           $i++;
       }
       return $productsList;
   }
}
view

<div class="ProductList">

<?php  foreach($latestProducts as $product): ?>

       <div class="container">

           <div class="product">
               <div class="item">
                   <div class="product__image">
                       <img src="" alt="">
                   </div>
                   <div class="product__title">
                      <p><?php echo $product['productname']; ?></p>
                      <p>что-то должно быть</p>
                   </div>
                   <div class="product__price">
                       <p><?php  echo $product['priceperone']; ?></p>
                   </div>
               </div>
           </div>
       </div>

   <?php endforeach; ?>
источник

AM

Alice Monstrik in phpGeeks
при этом с такой же логикой категории работают и спокойно выводятся с бд
источник

М

Максим in phpGeeks
сложно
источник

М

Максим in phpGeeks
в моих ботах было бы проще одним вызовом функции
источник

V

Vasily in phpGeeks
ну начни с запроса штоле. он руками выполняется хоть?
источник

М

Максим in phpGeeks
Alice Monstrik
Подскажите пожалуйста, почему не выводятся с бд продукты?

модель
<?php

class Product
{
   const SHOW_BY_DEFAULT = 10;

   public static function getLatestProducts($count = self::SHOW_BY_DEFAULT)
   {
       // Соединение с БД
       $db = Db::getConnection();

       // Текст запроса к БД
       $sql = 'SELECT id_product, productname, priceperone FROM product';

       // Используется подготовленный запрос
       $result = $db->prepare($sql);
       $result->bindParam(':count', $count, PDO::PARAM_INT);

       // Указываем, что хотим получить данные в виде массива
       $result->setFetchMode(PDO::FETCH_ASSOC);
       
       // Выполнение коменды
       $result->execute();

       // Получение и возврат результатов
       $i = 0;
       $productsList = array();
       while ($row = $result->fetch()) {
           $productsList[$i]['id_product'] = $row['id_product'];
           $productsList[$i]['productname'] = $row['productname'];
           $productsList[$i]['priceperone'] = $row['priceperone'];
           // $productsList[$i]['img'] = $row['img'];
           $i++;
       }
       return $productsList;
   }
}
view

<div class="ProductList">

<?php  foreach($latestProducts as $product): ?>

       <div class="container">

           <div class="product">
               <div class="item">
                   <div class="product__image">
                       <img src="" alt="">
                   </div>
                   <div class="product__title">
                      <p><?php echo $product['productname']; ?></p>
                      <p>что-то должно быть</p>
                   </div>
                   <div class="product__price">
                       <p><?php  echo $product['priceperone']; ?></p>
                   </div>
               </div>
           </div>
       </div>

   <?php endforeach; ?>
echo $result покажи после выполнения
источник

AM

Alice Monstrik in phpGeeks
пару минут
источник

in phpGeeks
Alice Monstrik
Подскажите пожалуйста, почему не выводятся с бд продукты?

модель
<?php

class Product
{
   const SHOW_BY_DEFAULT = 10;

   public static function getLatestProducts($count = self::SHOW_BY_DEFAULT)
   {
       // Соединение с БД
       $db = Db::getConnection();

       // Текст запроса к БД
       $sql = 'SELECT id_product, productname, priceperone FROM product';

       // Используется подготовленный запрос
       $result = $db->prepare($sql);
       $result->bindParam(':count', $count, PDO::PARAM_INT);

       // Указываем, что хотим получить данные в виде массива
       $result->setFetchMode(PDO::FETCH_ASSOC);
       
       // Выполнение коменды
       $result->execute();

       // Получение и возврат результатов
       $i = 0;
       $productsList = array();
       while ($row = $result->fetch()) {
           $productsList[$i]['id_product'] = $row['id_product'];
           $productsList[$i]['productname'] = $row['productname'];
           $productsList[$i]['priceperone'] = $row['priceperone'];
           // $productsList[$i]['img'] = $row['img'];
           $i++;
       }
       return $productsList;
   }
}
view

<div class="ProductList">

<?php  foreach($latestProducts as $product): ?>

       <div class="container">

           <div class="product">
               <div class="item">
                   <div class="product__image">
                       <img src="" alt="">
                   </div>
                   <div class="product__title">
                      <p><?php echo $product['productname']; ?></p>
                      <p>что-то должно быть</p>
                   </div>
                   <div class="product__price">
                       <p><?php  echo $product['priceperone']; ?></p>
                   </div>
               </div>
           </div>
       </div>

   <?php endforeach; ?>
Гадание на кофейной гуще
источник

in phpGeeks
Почитай статью как дебажить на пхп
источник

AM

Alice Monstrik in phpGeeks
Vasily
ну начни с запроса штоле. он руками выполняется хоть?
выполняется
источник

in phpGeeks
Alice Monstrik
Подскажите пожалуйста, почему не выводятся с бд продукты?

модель
<?php

class Product
{
   const SHOW_BY_DEFAULT = 10;

   public static function getLatestProducts($count = self::SHOW_BY_DEFAULT)
   {
       // Соединение с БД
       $db = Db::getConnection();

       // Текст запроса к БД
       $sql = 'SELECT id_product, productname, priceperone FROM product';

       // Используется подготовленный запрос
       $result = $db->prepare($sql);
       $result->bindParam(':count', $count, PDO::PARAM_INT);

       // Указываем, что хотим получить данные в виде массива
       $result->setFetchMode(PDO::FETCH_ASSOC);
       
       // Выполнение коменды
       $result->execute();

       // Получение и возврат результатов
       $i = 0;
       $productsList = array();
       while ($row = $result->fetch()) {
           $productsList[$i]['id_product'] = $row['id_product'];
           $productsList[$i]['productname'] = $row['productname'];
           $productsList[$i]['priceperone'] = $row['priceperone'];
           // $productsList[$i]['img'] = $row['img'];
           $i++;
       }
       return $productsList;
   }
}
view

<div class="ProductList">

<?php  foreach($latestProducts as $product): ?>

       <div class="container">

           <div class="product">
               <div class="item">
                   <div class="product__image">
                       <img src="" alt="">
                   </div>
                   <div class="product__title">
                      <p><?php echo $product['productname']; ?></p>
                      <p>что-то должно быть</p>
                   </div>
                   <div class="product__price">
                       <p><?php  echo $product['priceperone']; ?></p>
                   </div>
               </div>
           </div>
       </div>

   <?php endforeach; ?>
И собсна у тебя биндится плейсхолдер :count, но в тексте SQL запроса его нет...
источник

AM

Alice Monstrik in phpGeeks
случайно сервера по php в дискорде нет?
там показать могла бы хоть ...
источник

AM

Alice Monstrik in phpGeeks
И собсна у тебя биндится плейсхолдер :count, но в тексте SQL запроса его нет...
аа, и правда
источник

М

Максим in phpGeeks
всегда можно записать кругляшки:)
источник

in phpGeeks
Вообще стоит проверять, что у тебя запрос как миннимум корректен, и как минимум выполнился
источник

in phpGeeks
Чтобы не было внезапных "undefined ьуерщв $db->bind() $db is bool"
источник

AM

Alice Monstrik in phpGeeks
Вообще стоит проверять, что у тебя запрос как миннимум корректен, и как минимум выполнился
Запрос корректен, с подключением к бд тоже проблем нет
источник

AM

Alice Monstrik in phpGeeks
Ошибок нет, просто в выводе пусто
источник