Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] PDO COUNT row
tabbi
post 11.01.2011, 01:01:39
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 30.10.2010

Ostrzeżenie: (0%)
-----


Witam,

chce zwrócić ilość wierszy w zapytaniu PDO, mam klase i cały czas zwraca mi wartość TRUE; chodz ogólnie zapytanie i sprawdzenie ifem daje negatywny wynik. Łączy mi z PDO bo już dodałem kilka rekordów do bazy.

  1. Class Comment{
  2.  
  3. var $idObiektu; // id obiektu gdzie beda się wyswietlac komentarze
  4. var $sessionTableName="comment";//nazwa tabeli gdzie sa komentarze
  5. var $DB; //laczenie sie z baza danych
  6.  
  7. //konstruktor klasy komentarzy - laczenie sie z baza danych i sprawdzanie czy istnieje id_obiektu
  8. function __construct($parm,$id_obiektu){
  9.  
  10. $this->idObiektu=$id_obiektu; //wskaznik do id obiektu
  11.  
  12. //sprawdzamy czy parm jest tablica
  13. if(!is_array($parm)){
  14.  
  15. return false;
  16.  
  17. }else{
  18. $this->Parm=array(); //parametry db
  19.  
  20. $this->Parm['DBHost'] = $parm['DBHost'];
  21. $this->Parm['DBName'] = $parm['DBName'];
  22. $this->Parm['DBLogin'] = $parm['DBLogin'];
  23. $this->Parm['DBPass'] = $parm['DBPass'];
  24. $this->Parm['DBType'] = $parm['DBType'];
  25.  
  26. //Uruchamianie połączenia z bazą danych - PDO
  27. try
  28. {
  29. $this->DB = new PDO($this->Parm['DBType'].':dbname='.$this->Parm['DBName'].';host='.$this->Parm['DBHost'], $this->Parm['DBLogin'], $this->Parm['DBPass']);
  30. $this ->DB-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  31. }
  32. //Wyświetlanie błędów wrazie niepowodzenia uruchamiania rozszerzenia
  33. catch(PDOException $e)
  34. {
  35. echo $e->getMessage();
  36. }
  37.  
  38. //sprawdzanie czy istnieje takie id_obiektu jeśli nie to zwracam false i jest pusta lista komentarzy, jeśli true to wyświetla komentarze
  39. $this->Check($id_obiektu);
  40. }
  41. }
  42.  
  43. //Sprawdzanie czy istnieja takie komentarze nalezace do danego id_obiektu
  44. function Check($id_obiektu){
  45.  
  46. $zatwierdz=1;
  47. //zapytanie sql zwraca TRUE FALSE
  48. $result=$this->DB->prepare("
  49. SELECT
  50. COUNT(*)
  51. FROM
  52. ".$this->sessionTableName."
  53. WHERE
  54. id_obiektu = :id_obiektu and
  55. zatwierdz = :zatwierdz
  56. ");
  57. $result->bindParam(':id_obiektu', $id_obiektu, PDO::PARAM_STR);
  58. $result->bindParam(':zatwierdz', $zatwierdz, PDO::PARAM_INT);
  59. $result->execute();
  60. //Tutaj prawidlowo zwraca wartosc 0
  61. $ilosc=$result->fetch();
  62. //Czy zapytanie sie powiodlo
  63. if($ilosc[0]>8){
  64.  
  65. return true;
  66.  
  67. }else{
  68.  
  69. return false;
  70.  
  71. }
  72. }


Sprawdzenie:

  1. $com = new Comment(&$sess_param,$id_obiektu);
  2. if($com){
  3. echo 'zapytanie zwraca wartosc true';
  4. $ip=$_SERVER['REMOTE_ADDR'];
  5. $tresc="asd";
  6. $nick="adam";
  7. //$com->Add($tresc, $nick, $ip);
  8. }


Ciagle wykonuje mi zapytanie IF
Powód edycji: [webdice]: Dodanie tagu.
Go to the top of the page
+Quote Post

Posty w temacie
- tabbi   [PHP] PDO COUNT row   11.01.2011, 01:01:39
- - nospor   $com = new Comment(&$sess_param,...   11.01.2011, 07:06:09


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:10