![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 30.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem z PDO i prosił bym kogoś kto bawi sie tą biblioteką, mianowicie nie jestem pewnie co do możliwości PDO i z góry mówię że w "google" mam problem na odnalezienie odpowiedzi. Mianowicie tworze test baz danych i nie wiem do końca czy PDO obsługuje moje zapytania jeśli używam składni języka MySQL. Przypuszczam że PDO działa na zapytaniach typu SELECT, INSERT i UPDATE ale mi zależy konkretnie na CREATE. Za pomocą PDO chcę stworzyć tabele w już istniejącej bazie danych, mam stworzoną kod tworzący tabele w mysql no i po użyciu takiego zapytania baza powstaje i nie mam problem ale jeśli już stworze to samo zapytanie tylko dla oracla,pgsql,db2 to niestety wyskakują błędy, głównie że składnia jest nieprawidłowa. PDO ma konwertować zapytania pod inne silniki no ale niestety jeśli chodzi od CREATE jest problem. Mój kod na przykładzie oracla wygląda tak:
I juz mu sie nie podoba w linii "id int(11) NOT NULL" gdzie MySQL łyknął to bez problemu (nie dziwi mnie to skoro zapytanie w składni MySQL) ale jak zmodyfikuje kod i zostawię samo "int" to tworzy tabele. Oczywiście mogł bym stworzyć identyczne tabele dla każdego silnika ale jaki jest wtedy sens używania PDO? Może wiecie jak ugryźć temat? Czy robie coś źle? Proszę o pomoc Ten post edytował giera 21.01.2013, 19:18:35 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
Cytat PDO ma konwertować zapytania pod inne silniki no ale niestety jeśli chodzi od CREATE jest problem. Nic takiego nie robi, masz złe info: http://php.net/manual/en/intro.pdo.php Cytat PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility. Takie rzeczy robią systemy DAL, ORM np. Doctrine, propel. Ten post edytował jaslanin 21.01.2013, 20:08:45 -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 30.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
dobra już wiem wszystko, no faktycznie trochę nie doczytałem ale juz jestem na właściwym torze. Dzieki za odp
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 17:27 |