Chciał bym prosić użytkowników o sprawdzenie mojej pracy nad klasą która łączy się z bazą wszystko działa to fakt ale ni wydaje mi się by to był elegancji sposób obsługi bo... PDO bindowanie trzeba wprowadzać oddzielnie i nie wiem jak to zmienić... A pozatym pewnie miało optymalna klasa?
class laczenieZBazaDanych { /// Zmienne dla polaczenia z bazą danych private $host; private $nazwaBazyDanych; private $login; private $haslo; /// Baza danych private $dbh; private $wynik; public function __construct($host = "localhost", $nazwaBazyDanych = "test", $login = "root" , $haslo = "") { /// Sprawdzamy dane wejsciowe if ( ) { $this->host = (string) $host; $this->nazwaBazyDanych = (string) $nazwaBazyDanych; $this->login = (string) $login; $this->haslo = (string) $haslo; } else { } /// łączenie z bazą danych try{ $this->dbh = new PDO("mysql:host=$this->host;dbname=$this->nazwaBazyDanych", $this->login, $this->haslo, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $this->dbh -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e){ } } function __toString() { } public function setZakonczPolaczenie(){ $this->dbh = NULL; } public function getSql($zapytanieSQL, $bingPDO = NULL, $format = NULL) { // zapytanie o wynik $stmt = $this->dbh->prepare($zapytanieSQL); foreach($bingPDO as $key => $value) { $stmt->bindParam($key,$value,PDO::PARAM_STR); } }else{ } } $stmt -> execute(); // przetwarzanei wynikow otrzymanych z PDO do tablicy lub zmiennej. $i=0; foreach($stmt as $key => $value) { switch ($format){ case 1: break; case 2: break; default : break; } $table[$i++] = $value; } // jezeli jest tylko jedna tablica to tylko ja wypisz nie wypisuje ze jest to tablica zerowa. $this->wyniki = $table[0]; }else{ $this->wyniki = $table; } } function setWynik() { return $this->wyniki; } } $test = new laczenieZBazaDanych(); ?>