Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza mysql poprzez php - dalsze problemy ...
Forum PHP.pl > Forum > Bazy danych > MySQL
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??

Pozdrawiam,
Kaczor
dr_bonzo
Wyswietl sobie zawsze poskladane zapytanie
print( $query );
i zobaczysz ze brakuje ci kilku spacji.
kaczorek
Nie moge sobie z tym poradzic.
Czy ktos moze mnie bardziej lopatologicznie naprowadzic??
dr_bonzo
Skoro napisales powyzszy skrypt sam to wnipskuje ze znasz podstawy SQLa:
  1. <?php
  2. print( $query ); // to ostatnie
  3. ?>

otrzymasz:
Kod
SELECT movie_name, movie_typeFROM movieWHERE movie_year>1990ORDER BY movie_type

// [code ] bo [ sql ] sie sypie.
Juz jasne?
gaja
korzystam z tej samej ksiazki co kolega i mam ten sam blad. Pracuje na xampp 1.6.x.x. w phpmyadmin widze tabele z 2 pierwszych skryptow ale jezeli wpisuje skrypt zapytania pojawia sie ten sam blad. Prosze o pomoc to musi lezec raczej w kofiguracji. Ksiazka byla pisana na mysql w wersji 4 ja mam 5 tke moze tu lezy problem. Wskazowki podane przez kolege nie dzialaja.

Z gory dziekuje.
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.