Подстановка параметров в запрос

239
29 ноября 2017, 23:42

Есть код:

  $query = "SELECT * 
            FROM articlePrev 
            WHERE articletype = ? 
            ORDER BY date DESC 
            LIMIT ?,?";
  $stmt = $this->pdo->prepare($query);
  $stmt->execute(array(1,1,5));
  return $stmt->fetchAll(PDO::FETCH_ASSOC);

Который должен возвращать пять первых строк из базы, но в итоге он возвращает пустой массив. Если подставить параметры напрямую, вот так:

      $query = "SELECT * 
                FROM articlePrev 
                WHERE articletype = 1 
                ORDER BY date DESC 
                LIMIT 1,5";

То записи выводятся. Что я делаю не так?

Answer 1

Ну, array в основном используется при INSERT.
Например:

        $len = count($manga_paragraf_name_a);
        $dbSet = $db->prepare('INSERT INTO m_paragraf (id_main, name, src_original) 
                                                VALUES (:id_main, :name, :src_original);');
        for($i = 0; $i < $len; $i++){
            $dbSet->execute(array(
                    ':name' => $manga_paragraf_name_a[$i],
                    ':id_main' => $id,
                    ':src_original' => $manga_paragraf_href_a[$i]
                ));
        }
        $dbSet->fetchAll();

В вашем случае можно так :

 $query = "SELECT * 
                FROM articlePrev 
                WHERE articletype = ? 
                ORDER BY date DESC 
                LIMIT :start,:count";
      $stmt = $this->pdo->prepare($query);
      $stmt->bindValue(':start', 1);
      $stmt->bindValue(':count', 5);
      $dbSet->execute();
      $result = $stmt->fetchAll();
      return $result;    // можешь глянуть что пришло print_r($result);
READ ALSO
Как открыть изображения в БД c#

Как открыть изображения в БД c#

Имеется приложение, которое работает как клиентское для БД (Access)В БД имеется ряд изображений, которые хранятся как гиперссылки (например,...

202
Счетчик в юнити

Счетчик в юнити

Нужно, чтобы при нажатии на UI панель в переменную , которая будет являться счетчиком, записывалось время в течение которого пользователь...

308
Оператор &ldquo;And&rdquo; из Delphi в C#

Оператор “And” из Delphi в C#

Доброго времени сутокПытаюсь разобраться в коде на Delphi

222