Witam,
plan : stworze funkcje -WybiezWszytkoZtabeli ktora kazda query zwroci jako obiekt i przechowa to w zmiennej : $_results,
problem jest taki ze jesli umieszcze
$this->_results->fetch(PDO::FETCH_OBJ);
w klasie i w funkji : WybiezWszytkoZtabeli , strona wyswietla jeden wynik w nieskonczonosc.
class DB{
private static $_instance= null;
public
$_pdo,
$_query,
$_error= false,
$_results,
$_count= 0;
//polaczenie z baza danych
public function __construct(){
try {
$this->_pdo= new PDO('mysql:host=888; dbname=test', 'paw3', 'k05a');
$this->_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo 'ok';
} catch (PDOException $e) {
$e->getMessage();
die();
}
}
// sprawdza polaczenie zeby za kazdym razem nielaczyc sie z baza danych
public static function getInstance(){
if(!isset(self::$_instance)){
self::$_instance= new DB();
}
return self::$_instance;
}
//funkcja Select * FROM tabela i zwtaca jako obiekt
public function WybiezWszytkoZtabeli($tabela){
//$this->_error=false;
$sql="SELECT * FROM `$tabela`";
$this->_results= $this->_pdo->query($sql);
$this->_results->fetch(PDO::FETCH_OBJ);
return $this;
}
public function res(){
return $this->_results;
}
public function error(){
return $this->_error;
}
}
// !! nie dziala , zwraca ciag w nieskonczonosc
$ta='users';
$user= DB::getInstance()->WybiezWszytkoZtabeli($ta);
while($r=$user->res()){
echo $r->username.'<br>';
}
jesli umieszcze w petli WHILE poza klasa wszytko gra.
$ta='users';
$user= DB::getInstance()->WybiezWszytkoZtabeli($ta);
while($r=$user->res()->fetch(PDO::FETCH_OBJ)){
echo $r->username.'<br>';
}
Prosilbym o jakas rade:) PoZdr