http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO
$stmt = $pdo -> query('SELECT id, nazwa, opis FROM produkty'); foreach($stmt as $row) { } $stmt -> closeCursor();
A ja nie chcę od razu wyświetlać przy użyciu metody klasy wyniku, bo raz będę potrzebował wyświetlić wynik w postaci listy, innym razem w tabeli itd.
A tak jak mam obecnie czyli:
$wynik = $this->pdo->query($z); $wynik -> closeCursor(); return $wynik;
to przez closeCursor() wywolanym zaraz po query() przed wyswietleniem wynikow zapytania nic w rezultacie nie otrzymuje i nic nie jest potem wyswietlane. Co moge zrobic ?
Oto moj caly kod:
class Polaczenie { private $pdo; private $dsn = 'mysql:host=localhost;dbname=baza'; private $uzytkownik = 'root'; private $haslo = ''; public function __construct() { try { $this->pdo = new PDO($this->dsn, $this->uzytkownik, $this->haslo, array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES utf8")); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { } } public function __destruct() { } public function zapytanie($z) { try{ $wynik = $this->pdo->query($z); $wynik -> closeCursor(); return $wynik; } catch(PDOException $e) { } } } $polaczenie = Polaczenie(); $rezultat = $polaczenie->zapytanie("SELECT * FROM ksiazki"); foreach($rezultat as $wiersz) { }