Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tworzenie bazy przez php - problem
Forum PHP.pl > Forum > Bazy danych > MySQL
kaczorek
Witam wszystkich.
Probowalem sobie stworzyc baze i 1 tabele w bazie.
Niestety napotkalem na problemy.

Nie korzystam z lokalnego serwera, ale mam do dyspozycji inny (nazwa.pl).
Czy ktos moglby zerknac tutaj i pomoc mi z tym kodem??
http://www.cedarpoint.pl/createmovie.txt

Baza danych sie nie tworzy, nawet jak utworze ja recznie w phpmyadmin to tabela tez sie nie stworzy, wywala blad T_STRING.
Moze to byc wina jakichs dodatkowych zabezpieczen albo funkcji serwera??

Dzieki za wszelkie wskazowki,

Pozdrawiam,

Kaczor

----edit----
Proszę przeedtować posta i wstawic kod wewnątrz wątku.
Nie zapominając o odpowiednim bbCode.
~mike_mech
mike
Błąd typu T_STRING jest błądem składni. Zjadłeś gdzieś cudzysłów.
A dokładniej w linii zawierającej:
  1. <?php
  2. // ...
  3. mysql_select_db("moviesite:);
  4. // ...
  5. ?>

Powinno być:
  1. <?php
  2. // ...
  3. mysql_select_db("moviesite");
  4. // ...
  5. ?>
ActivePlayer
  1. <?php
  2.  
  3. mysql_select_db("moviesite:); 
  4. ?>

zamien na:
  1. <?php
  2. mysql_select_db("moviesite"); 
  3. ?>


no i zaedytuj posta i daj kod tutaj na forum, ujmując w bb code.

_____
Wyprzedził mnie sad.gif
kaczorek
dzieki serdeczne za wychwycenie tego bledu.
Niestety popelnilem go przeklejajac i zmieniajac dane w pliku, natmiast cos jest dalej nie tak, jesli mozecie jeszcze raz zerknac na ten plik:
http://cedarpoint.pl/createmovie.txt

wywala T_STRING czyli blad w skladni tak??
serwer podal 5 linie czyli wg moich wyliczen:
  1. <?php
  2. movie_id int(11) NOT NULL auto_increment,
  3. ?>


Dodam ze robie przyklady zgodnie z ksiazka i chce wykluczyc bledy w ksiazce, ale zabijcie mnie, nie widze braku czegokolwiek w 5 lini.

Dziekuje takze za szybka reakcje na moj post.
mike
Cytat(kaczorek @ 2005-11-06 14:41:53)
Dziekuje takze za szybka reakcje na moj post.

To teraz Ty zareaguj na moją prośbę ( i @ActivePlayer'a ) i wklej kody źródłowe do wnętrza wątku (używając bbCode, tag [ php ]).

Inaczej zamknę temat.
kaczorek
Cytat(mike_mech @ 2005-11-06 13:52:38)
Cytat

To teraz Ty zareaguj na moją prośbę ( i @ActivePlayer'a ) i wklej kody źródłowe do wnętrza wątku (używając bbCode, tag [ php ]).


  1. <?
  2. $connect = mysql_connect("sql.cedarpoint.nazwa.pl", "user", "pass") or die ("Problem z połączeniem do bazy danych");
  3. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite") or die(mysql_error());
  4. mysql_select_db("moviesite"); 
  5. $movie = "CREATE TABLE movie (
  6.  movie_id int(11) NOT NULL auto_increment,
  7. movie_name varchar(255) NOT NULL,
  8. movie_type tinyint(2) NOT NULL default 0,
  9. movie_year int(4) NOT NULL default 0,
  10. movie_leadactor int(11) NOT NULL default 0,
  11. movie_director int(11) NOT NULL default 0,
  12. PRIMARY KEY (movie_id),
  13. KEY movie_type (movie_type,movie_year)
  14. )";
  15.  
  16. $results = mysql_query($movie) or die (mysql_error());
  17. ?>


w pogrubionej lini wskazywany jest blad przez serwer.
mike
1. Następnym razem skorzystaj z funkcji edycji posta.
2. Co to jest w środku zapytania :?:
Cytat
[ B ]movie_id int(11) NOT NULL auto_increment,[ /B ]

Co to za [ b ] :?;

Powinno wyglądac tak:
  1. <?php
  2. $connect = mysql_connect("sql.cedarpoint.nazwa.pl", "user", "pass") or die ("Problem z połšczeniem do bazy danych");
  3. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite") or die(mysql_error());
  4. mysql_select_db("moviesite");
  5. $movie = "CREATE TABLE movie (
  6.  movie_id int(11) NOT NULL auto_increment,
  7. movie_name varchar(255) NOT NULL,
  8. movie_type tinyint(2) NOT NULL default 0,
  9. movie_year int(4) NOT NULL default 0,
  10. movie_leadactor int(11) NOT NULL default 0,
  11. movie_director int(11) NOT NULL default 0,
  12. PRIMARY KEY (movie_id),
  13. KEY movie_type (movie_type,movie_year)
  14. )";
  15.  
  16. $results = mysql_query($movie) or die (mysql_error());
  17. ?>
kaczorek
Cytat(mike_mech @ 2005-11-06 14:02:11)
2. Co to jest w środku zapytania :?:
Co to za [ b ] :?;

myslalem ze pogrubi linie wskazywanego bledu. sorry.
ActivePlayer
jaki błąd zwraca mysql ?
kaczorek
Cytat(ActivePlayer @ 2005-11-06 15:10:58)
jaki błąd zwraca mysql ?


wyglada na to ze juz nie ma problemu w kodzie, poniewaz zwracany jest problem z podlaczeniem do bazy.

Nic nie rozumiem z tego. Jak loguje sie phpadminem, wszystko gra, jak z pliku wykonywalnego php access denied. Jakis pomysl co jest nie tak??
mike
Prawdopodobnie podajesz złe dane dostępowe.

Sprawdziłem ten kod u siebie i działał (twozył bazę i tworzył tabelę), więc na pewno podajesz złe dane.
kaczorek
Witam ponownie.
Utknalem przy swoim mini projekcie w kolejnym punkcie.
Po utworzeniu bazy i tabel czyli:

  1. <?
  2. $connect = mysql_connect("mysql.zhp.pl", "user", "pass") or die ("Problem z podłączeniem do bazy danych");
  3.  
  4. $create = mysql_query("CREATE DATABASE IF NOT EXISTS koronowo_moviesite") or die(mysql_error());
  5.  
  6. mysql_select_db("koronowo_moviesite"); 
  7.  
  8. $movie = "CREATE TABLE movie (
  9.  movie_id int(11) NOT NULL auto_increment,
  10. movie_name varchar(255) NOT NULL,
  11. movie_type tinyint(2) NOT NULL default 0,
  12. movie_year int(4) NOT NULL default 0,
  13. movie_leadactor int(11) NOT NULL default 0,
  14. movie_director int(11) NOT NULL default 0,
  15. PRIMARY KEY (movie_id),
  16. KEY movie_type (movie_type,movie_year)
  17. )";
  18.  
  19. $results = mysql_query($movie) or die (mysql_error());
  20.  
  21. $movietype = "CREATE TABLE movietype (
  22. movietype_id int(11) NOT NULL auto_increment,
  23. movietype_label varchar(100) NOT NULL,
  24. PRIMARY KEY (movietype_id)
  25. )";
  26.  
  27. $results = mysql_query($movietype) or die (mysql_error());
  28.  
  29. $people = "CREATE TABLE people (
  30. people_id int(11) NOT NULL auto_increment,
  31. People_fullname varchar(255) NOT NULL,
  32. people_isactor tinyint(1) NOT NULL default 0,
  33. people_isdirector tinyint(1) NOT NULL default 0,
  34. PRIMARY KEY (people_id)
  35. )";
  36.  
  37. $results = mysql_query($people) or die (mysql_error());
  38.  
  39. echo "Poprawnie utworzono bazę danych filmów!";
  40.  
  41.  
  42. ?>


nastepnie dodalem do tych tabel dane czyli:

  1. <?
  2.  
  3. $connect = mysql_connect("mysql.zhp.pl" , "user" , "pass") or die ("Problem z podłączeniem do bazy danych");
  4.  
  5. mysql_select_db("koronowo_moviesite");
  6.  
  7. $insert = "INSERT INTO movie (movie_id, movie_name, movie_type,".
  8. "movie_year, movie_leadactor, movie_director)".
  9. "VALUES (1,'Bruce Wszechmogący', 5, 2003, 1, 2),".
  10. "(2,'Życie biurowe', 5, 1999, 5, 6),".
  11. "(3,'Wielki Kanion', 2, 1991, 4, 3)";
  12. $results = mysql_query($insert) or die(mysql_error());
  13.  
  14. $type = "INSERT INTO movietype (movietype_id, movietype_label)".
  15. "VALUES (1,'Science-fiction'),".
  16. "(2,'Dramat'),".
  17. "(3,'Przygoda'),".
  18. "(4,'Wojenny'),".
  19. "(5,'Komedia'),".
  20. "(6,'Horror'),".
  21. "(7,'Akcja'),".
  22. "(8,'Dla dzieci')";
  23. $results = mysql_query($type) or die(mysql_error());
  24.  
  25. $people = "INSERT INTO people (people_id, people_fullname, people_isactor, people_isdirector)".
  26. "VALUES (1,'Jim Carrey', 1, 0),".
  27. "(2,'Tom Shadyac', 0, 1),".
  28. "(3,'Lawrence Kasdan', 0, 1),".
  29. "(4,'Kevin Kline', 1, 0),".
  30. "(5,'Ron Livingston', 1, 0),".
  31. "(6,'Mike Judge', 0, 1)";
  32.  
  33. $results = mysql_query($people) or die(mysql_error());
  34.  
  35. echo "Dane zostały wstawione poprawnie!";
  36. ?>


wszystko poszlo bez zarzutu, natomiast kiedy chcialem uzyskac dane z bazy czyli:

  1. <?
  2. $connect = mysql_connect("mysql.zhp.pl", "admin", "pass") or die("Brak polaczenia z baza danych");
  3.  
  4. mysql_select_db("moviesite");
  5.  
  6. $query = "SELECT movie_name, movie_type".
  7.  "FROM movie".
  8.  "WHERE movie_year>1990".
  9.  "ORDER BY movie_type";
  10.  
  11. $results = mysql_query($query) or die(mysql_error());
  12.  
  13. while ($row = mysql_fetch_array($results)) {
  14. extract($row);
  15. echo $movie_name;
  16. echo "-";
  17. echo $movie_type;
  18. echo "<br>";
  19. }
  20. ?>


uzyskuje taki komunikat:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'movie_year>1990ORDER BY movie_type' at line 1

Czy ktos wie gdzie lezy blad??
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.