Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Bazy danych a połączenie do nich, jak to zrobic ???
mablo
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 11.04.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No właśnie pytanie tak jak w temacie ale wyjaśnie o co mi chodzi dokładnie.

Pisze system newsów i chce żeby przy instalacji można było wybrać jedną z dostępnych baz danych. Jednak nie wiem jak zrobić kod php w którym bedą połączenia do baz danych.

Czy zrobić jakąś funkcje np.

  1. <?php
  2. function connect($rodzaj_bazy)
  3. {
  4.  if($rodzaj_bazy == &#092;"myslq\"){
  5. mysql_connect(&#092;"localhost\",\"aaa\",\"aa\");
  6.  }elseif($rodzaj_bazy == &#092;"pg\"){
  7. pgl_connect(&#092;"host=localhost\");
  8.  }
  9. }
  10. ?>

i gdzies zapisac w jakims pliku jaka to jest baza danych np. w config.php
  1. <?php
  2. $rodzaj_bazy = &#092;"mysql\"
  3. ?>


I czy w podobny sposób zrobić wyciąganie danych z baz danych.

Ktoś ma jakieś pomysły (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował mablo 29.06.2005, 00:11:27
Go to the top of the page
+Quote Post
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Lepiej napisac sobie osobne klasy do obslugi kazdej z baz z wspolnym API (takie same nazwy metod do laczenia, zapytan etc.) i tworzyc jedna z nich w zaleznosci od wyboru.. mozesz tez skorzystac z gotowych rozwiazan typu AdoDB. Pamietaj tylko, ze nie wszystkie zapytania musza wygladac tak samo w kazdej bazie, wiec w niektorych przypadkach moze byc koniecznie przerobienie zapytania dla jakiejs konkretnej bazy.. nawet "zwykly" select z joinem potrafi wygladac roznie.. np. w Oraclu jest on zrobiony zupelnie inaczej niz w MySQL'u.
Go to the top of the page
+Quote Post
kubatron
post
Post #3





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

Ostrzeżenie: (0%)
-----


Ja dodam od siebie że pod PHP5 dzięki metodzie __call() mamy możliwośc uproszczenia kodu głównego pliku który zarządza wybieraniem poszczególnych baz danych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
nawet "zwykly" select z joinem potrafi wygladac roznie.. np. w Oraclu jest on zrobiony zupelnie inaczej niz w MySQL'u.


Tu akurat sie mylisz. Jest taki sam. Taka najwieksza roznica to ze ORACLE nie ma LIMITu.
Go to the top of the page
+Quote Post
FiDO
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 2005-06-29 11:36:27)
Cytat
nawet "zwykly" select z joinem potrafi wygladac roznie.. np. w Oraclu jest on zrobiony zupelnie inaczej niz w MySQL'u.


Tu akurat sie mylisz. Jest taki sam. Taka najwieksza roznica to ze ORACLE nie ma LIMITu.

Jak mielismy Oracla na laborkach to joiny wygladaly inaczej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale troche przesadzilem, bo zajrzalem do wykladow i widze, ze tylko outer joiny sie roznia..
  1. WHERE e.deptno(+) = d.deptno

No chyba, ze obslugiwana jest tez skladnia Mysql-like.. ale tego to juz nie wiem..
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. WHERE e.deptno(+) = d.deptno


To jest nowa skladnia wprowadzona w oracle, tamto tez dziala ale zalecaja stosowanie takiego czegos, to poprostu ma skrocic skladnie ON (warunek).

Cytat
No chyba, ze obslugiwana jest tez skladnia Mysql-like.. ale tego to juz nie wiem..

Tak naprawde cos takiego jak LIMIT nie istnieje w ORACLE, mozna by sie skusic i napisac wlasna funkcje ktora to realizuje, ale po co. W ORACLE robi sie tak ze numerujesz w podzapytaniu wiersza a nastepnie wyciagasz to co Cie interesuje. Wydaje mi sie ze to daje Ci zupelna elastycznosc, no ale z PG i MySQLem sie jakos do takich funkcji przyzwyczailem, jak jest to trzeba stosowac.

Odnosnie standardu SQLa to tak naprawde taka firma jak ORACLE jest duzo duzo przed innymi bazami danych (i to oni kreuja w wiekszej mierze ten jezyk), wprowadzaja cos co za pare lat dostepne jest w innych bazach, a PG gonie ich.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 02:10