Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Baza mysql poprzez php - dalsze problemy ...
kaczorek
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 6.11.2005

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Wyswietl sobie zawsze poskladane zapytanie
print( $query );
i zobaczysz ze brakuje ci kilku spacji.
Go to the top of the page
+Quote Post
kaczorek
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 6.11.2005

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


Nie moge sobie z tym poradzic.
Czy ktos moze mnie bardziej lopatologicznie naprowadzic??
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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?
Go to the top of the page
+Quote Post
gaja
post
Post #5





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 18.12.2008

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


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.
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: 22.08.2025 - 17:36