Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [pdo][oop] dlaczego limit nie dziala
Forum PHP.pl > Forum > PHP > Object-oriented programming
radzik_w
Witam mam następujący bardzo prosty fragment kodu:
  1. <?php
  2. try
  3. {
  4.  $limit = 1;
  5. $pdo = myPDO::getPDO();
  6. $stm = $pdo -> prepare('SELECT * FROM '.PREFIX.'shop_comments WHERE user_id = :user_id ORDER BY id desc LIMIT 0,:limit');
  7. $stm -> bindParam(':user_id', $user_id ,PDO::PARAM_STR); // bind user id
  8. $stm -> bindParam(':limit', $limit ,PDO::PARAM_STR);  
  9.  
  10. $stm -> execute();
  11. while($row = $stm -> fetch(PDO::FETCH_ASSOC))
  12. {
  13. $a++;
  14. $this -> comment[$a]['id'] = $row['id'];
  15. $this -> comment[$a]['mark'] = $row['mark'];
  16. $this -> comment[$a]['desc'] = $row['desc'];
  17. $this -> comment[$a]['date'] = $row['date'];
  18. $this -> comment[$a]['ip'] = $row['ip'];
  19. }
  20. }
  21. catch(PDOException $e)
  22. {
  23. echo ''.BASE_ERROR.'';
  24. }
  25. ?>

uzywam takiego kodu w calym serwisie i wszystko smiga jak nalezy, chce zrobic sortowanie i napotkalem na dziwny lblad, mianowicie jesli po LIMIT w zapytaniu PDO dam normalnie wpisane: 0,1 to dziala (wyswietla mi jeden komentarz, natomiast jesli binduje to nic mi nie pokazuje, moze ktos wie o co chodzi

z góry dzięki
pozdrawiam
Ludvik
  1. <?php
  2. $stm -> bindParam(':user_id', $user_id ,PDO::PARAM_STR); // bind user id
  3. $stm -> bindParam(':limit', $limit ,PDO::PARAM_STR);
  4. ?>

Palnąłeś się w typach parametrów. Powinno być PARAM_INT raczej.
radzik_w
hehehe dzieki, działa niby tylko końcówka INT a jednak bezcenne tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.