Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem do tworzenia bazy w PHP
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
k_uba
Witam
Mam następujący problem. Chciałem stworzyć skrypt który stworzy mi bazę oraz jej strukturę dla MySQL skrypt wygląda następująco:

  1. $db_host = localhost;
  2. $db_user = uzytkownik;
  3. $db_pass = haslo;
  4. $db_name = nazwa;
  5.  
  6. $link = mysql_connect($db_host , $db_user, $db_pass);
  7. if (!$link) {
  8. die('Nie mozna sie polaczyc: ' . mysql_error());
  9. }
  10.  
  11. $sql = "CREATE DATABASE $db_name";
  12. if (mysql_query($sql, $link)) {
  13. echo "<br> Baza <b>$db_name</b> zostala pomyslnie utworzona.\n";
  14. } else {
  15. echo '<br><b> Blad podczas tworzenia bazy: </b><br>' . mysql_error() . "\n";
  16. }
  17.  
  18. /*Wybieranie bazy*/
  19. $db_selected = mysql_select_db($db_name, $link);
  20. if (!$db_selected) {
  21. die ("Nie mozna ustawic bazy $db_name : " . mysql_error());
  22. }
  23.  
  24. $autorzy = "CREATE TABLE `autorzy` ( ".
  25. "`Id_autorzy` int(11) NOT NULL auto_increment, ".
  26. "`Imie` varchar(50) collate utf8_polish_ci NOT NULL, ".
  27. "`Nazwisko` varchar(100) collate utf8_polish_ci NOT NULL, ".
  28. "PRIMARY KEY (`Id_autorzy`) ".
  29. ") ENGINE=MyISAM AUTO_INCREMENT=10072 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;";
  30.  
  31. mysql_query($autorzy) or die(mysql_error());
  32.  


Chciałbym stworzyć taki sam skrypt dla PostgreSQL ale mi nie wychodzi. Można prosić o jakieś sugestie.
Zbłąkany
A można prosić o kod, który Tobie nie działa? Czyżbyś oczekiwał, że ktoś będzie pisał kod za Ciebie? Pokaż kod, który nie działa, a wtedy spróbujemy znaleźć rozwiązanie smile.gif
patryczakowy
Na pewno dla pg musisz używać innych funkcji funkcja mysql_connect jest tylko dla MYSQL a tobie jest potrzebna pg_connect i cała jej rodzina ponadto napewno obie bazy różnią się dialektem SQL-a dlatego pytanie może też będziesz musiał zmodyfikować ale tutaj mogą się wypowiedzieć specjaliści od pg
k_uba
Próbowałem podmienić kod ale pg_connect wymaga podania bazy z jaką chce się połączyć. To powiem inaczej. Czy istnieje funkcja która pozwoli mi sie podłączyć do serwera a potem na nim stworzyć bazę. Nie potrzebuje kodu tyko jakiejś sugestii, która mnie nakieruje. Kodu nie mam bo nie wiem jak go napisać. Dla MySQL zrobiłem a dla PostgreSQL nie wiem jak się za to zabrać.
Zbłąkany
Dla PostgreSQL głównym użytkownikiem jest postgres, a podstawowa baza to template1. Nie ma takiej funkcji, byś sobie stworzył nią bazę (no chyba, że ją sobie napiszesz), musisz wykonać zapytanie SQL, i potem się przelogować. PostgreSQL do logowania wymaga podania bazy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.