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.
Class Comment{ var $idObiektu; // id obiektu gdzie beda się wyswietlac komentarze var $sessionTableName="comment";//nazwa tabeli gdzie sa komentarze var $DB; //laczenie sie z baza danych //konstruktor klasy komentarzy - laczenie sie z baza danych i sprawdzanie czy istnieje id_obiektu function __construct($parm,$id_obiektu){ $this->idObiektu=$id_obiektu; //wskaznik do id obiektu //sprawdzamy czy parm jest tablica return false; }else{ $this->Parm['DBHost'] = $parm['DBHost']; $this->Parm['DBName'] = $parm['DBName']; $this->Parm['DBLogin'] = $parm['DBLogin']; $this->Parm['DBPass'] = $parm['DBPass']; $this->Parm['DBType'] = $parm['DBType']; //Uruchamianie połączenia z bazą danych - PDO try { $this->DB = new PDO($this->Parm['DBType'].':dbname='.$this->Parm['DBName'].';host='.$this->Parm['DBHost'], $this->Parm['DBLogin'], $this->Parm['DBPass']); $this ->DB-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } //Wyświetlanie błędów wrazie niepowodzenia uruchamiania rozszerzenia catch(PDOException $e) { } //sprawdzanie czy istnieje takie id_obiektu jeśli nie to zwracam false i jest pusta lista komentarzy, jeśli true to wyświetla komentarze $this->Check($id_obiektu); } } //Sprawdzanie czy istnieja takie komentarze nalezace do danego id_obiektu function Check($id_obiektu){ $zatwierdz=1; //zapytanie sql zwraca TRUE FALSE $result=$this->DB->prepare(" SELECT COUNT(*) FROM ".$this->sessionTableName." WHERE id_obiektu = :id_obiektu and zatwierdz = :zatwierdz "); $result->bindParam(':id_obiektu', $id_obiektu, PDO::PARAM_STR); $result->bindParam(':zatwierdz', $zatwierdz, PDO::PARAM_INT); $result->execute(); //Tutaj prawidlowo zwraca wartosc 0 $ilosc=$result->fetch(); //Czy zapytanie sie powiodlo if($ilosc[0]>8){ return true; }else{ return false; } }
Sprawdzenie:
$com = new Comment(&$sess_param,$id_obiektu); if($com){ $ip=$_SERVER['REMOTE_ADDR']; $tresc="asd"; $nick="adam"; //$com->Add($tresc, $nick, $ip); }
Ciagle wykonuje mi zapytanie IF