Ktory z systemów dostepu do bazy danych polecicie?
Jest tego klika: PDO, AdoDB i rozne inne zapewne. Nie wiem za co sie zabrac. Wazne by bylo proste w obsludze, raczej tylko mysql i moze postgres bedzie obslugiwany. Na hostingach jak rozumiem to byc nie musi bo sobie to wgrywam jak Smarty i dziala.
dziekuje.
Moze jeszcze roznice miedzy pdo a adodb ktos na szybko wypisze? Najwazniejsze oczywiscie.
> Ktory z systemów dostepu do bazy danych polecicie?
> Jest tego klika: PDO, AdoDB i rozne inne zapewne. Nie wiem za co sie > zabrac. Wazne by bylo proste w obsludze, raczej tylko mysql i moze > postgres bedzie obslugiwany. Na hostingach jak rozumiem to byc nie musi > bo sobie to wgrywam jak Smarty i dziala.
> dziekuje.
> Moze jeszcze roznice miedzy pdo a adodb ktos na szybko wypisze? > Najwazniejsze oczywiscie.
PDO i MySQli to moduły w php. ADOdb to dodatkowe biblioteki ładowane jak Smarty. AdoDB się już zestarzało, polecam pójście w PDO, a nawet dalej w Zend Framework i jego Zend_Db.
> PDO i MySQli to moduły w php. ADOdb to dodatkowe biblioteki ładowane jak > Smarty. AdoDB się już zestarzało, polecam pójście w PDO, a nawet dalej w > Zend Framework i jego Zend_Db.
mam "na warsztacie" jakis projekt ktory przerabiam bo obecnie programisci pocieli sie ze zleceniodawca. Zmiany robie z lekkoscia ale nie grzebie w module dostepu do bazy. Ale moze kiedys bede musial i nauczyuc sie PDO zamierzam.
I tu jest cos ala singelton:SQL, moglem zle zapisac. To co to za cudo?
Uwaga ze AdoDB jest stare jest cenna, jesli tego nie rozwiajaja to olac. PDO w php juz jest to tez super informacja, nie musze kopiowac dodatkowych smieci na serwer ;)
ZEND nie ruszam bo jeszcze nie jestem na tym etapie.
W ogole patrze na klasy z tego projektu i goscie porobili takie bajery jak:
$query->addWhere() ->removeWhere() ->setOrder()
takie funkcje ktore tworza z klockow zapytanie.
Obecnie w moim projekcie to robie po prostu sklejanie stringow by zbudowac zapytanie, troche to lamerskie i trudne do ogarniecia.
Czy PDO, ADOdb maja takie funkcje czy po prostu musze sobie napisac podobne klasy do modyfikacji zapytania?
> Obecnie w moim projekcie to robie po prostu sklejanie stringow by zbudowac > zapytanie, troche to lamerskie i trudne do ogarniecia. > Czy PDO, ADOdb maja takie funkcje czy po prostu musze sobie napisac podobne > klasy do modyfikacji zapytania?
Jesli sklejanie odbywa sie z powodu koniecznosci dostarczenia zmiennych, to sprawe zalatwiaja "prepared statements".
> PDO i MySQli to moduły w php. ADOdb to dodatkowe biblioteki ładowane > jak Smarty. AdoDB się już zestarzało, polecam pójście w PDO, a nawet > dalej w Zend Framework i jego Zend_Db.
ok a inne pytanie.
Czy standardowe uzycie PDO zabezpieczy mnie przed
insertem typu: insert into pensja values (12,4000)
gdy do bazy dodam nowe pole np "stanowisko" ? Normalnie jadac przez mysql_query to zapytanie sie wywali... a mogloby po cichu dodac pole stanowisko jako wartosc domyslna. A wywali sie dopiero gdy pole bedzie not null przykladowo.
Jak rozumiem odczyt dowolna technika, gdy nie podamy nie istniejacego pola, zawsze bedzie pomyslny, nawet jak dodamy nowe pola. Problem pojawi sie przy update i insert.
Wlasnie min dlatego chce przejsc na PDO, aby uniknac koniecznosci grzebania w kodzie gdy dodam jakies pole do bazy (co ma miejsce czesto bo baze projektowalem sam i niezbyt przyszlosciowo :/)
> "the second" przyklad nie wywali sie jak sie domyslam w przypadku pojawienia > sie wiekszej ilosci kolumn w tabeli table_name?
Dokładnie. Drugi się wywali tylko wtedy jak jakieś dodatkowe pole będzie not null i nie zostanie obsłużone (np. triggerem).
Poczytaj sobie też o prepared statements i PDO - to jest o wiele lepsze podejście do baz w PHP (szybsze i może być bezpieczniejsze). Nowe ORMy takie jak Propel i Doctrine, korzystają już z PDO, więc przesiadając się na nie, będziesz też z PDO korzystać.
Wojciech Bancer wrote: > Poczytaj sobie też o prepared statements i PDO - to jest o wiele lepsze > podejście do baz w PHP (szybsze i może być bezpieczniejsze).
PDO nie jest szybsze od mysqli. Jest kilka razy wolniejsze.
> I tu jest cos ala singelton:SQL, moglem zle zapisac. To co to za cudo?
Pewnie: 'singleton::SQL'.
Prawdopodobnie ktoś zaimplementował wzorzec projektowy singletonu (nieco spryptniejszy zamiennik zmiennej globalej) i użył go do przechowywania danych aktywnego połączenia z bazą; jeśli nie ma jeszcze ustanowionego połączenia, jest ono nawiązywane, jeśli już było, podawany jest tylko jego identyfikator. Ma to tą zaletę, że wywołując połączenie nie przejmujesz się, czy trzeba nawiązać, czy tylko skorzystać z istniejącego.
Tak z ciekawości: możesz tu wkleić definicje klasy singleton i przykład wywołania, jaki tam masz?
> Prawdopodobnie ktoś zaimplementował wzorzec projektowy singletonu (nieco > spryptniejszy zamiennik zmiennej globalej) i użył go do przechowywania > danych aktywnego połączenia z bazą; jeśli nie ma jeszcze ustanowionego > połączenia, jest ono nawiązywane, jeśli już było, podawany jest tylko > jego identyfikator. Ma to tą zaletę, że wywołując połączenie nie > przejmujesz się, czy trzeba nawiązać, czy tylko skorzystać z istniejącego.
> Tak z ciekawości: możesz tu wkleić definicje klasy singleton i przykład > wywołania, jaki tam masz?
A coś ty taki ciekawy, nie wierzysz w poprawna implementacje?
>> Tak z ciekawości: możesz tu wkleić definicje klasy singleton i przykład >> wywołania, jaki tam masz?
> A coś ty taki ciekawy, nie wierzysz w poprawna implementacje?
A gdzieżby, tyle jest poprawnych implementacji - ciekawym po prostu, którą wybrał (wygląda, że ma jedną klasę singletonu dla aplikacji, i używa __callStatic() do dostępu do danych). Trafiłem...?
Oczywiście, jeśli ten kod ma klauzulę 'Ściśle Tajne Specjalnego Znaczenia', to będę się ubiegał o Certyfikat Dostępu do Informacji Niejawnych i dopiero wtedy ponowię moją prośbę... :) Jeśli jednak nie, to może zamieść te kilka linii, bo pewnie nie tylko ja tu na tym skorzystam?