Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wstawianie danych do bazy danych
Forum PHP.pl > Forum > Przedszkole
uki150
Witam,
uczę się php i obecnie zajmuje się bazą danych biggrin.gif. Napisałem prosty skrypt na podstawie jednej z książek ale nie działa i nie za bardzo wiem czemu ? Znając mnie to pewnie jakiś banał albo coś w tym stylu dlatego proszę o wyrozumiałość oraz pomoc.

  1. <?php
  2. $nazwabazy = "*****";
  3. $host = "localhost" ;
  4. $uzytkownik = "******" ;
  5. $haslo = "*******" ;
  6. $polacz = mysql_connect($host, $uzytkownik, $haslo ) or die ("Sprawdz polaczenie z serwerem.");
  7.  
  8. mysql_select_db($nazwabazy);
  9.  
  10. $wstaw = "INSERT INTO film (film_id, film_tytul, film_typ, film_rok, film_aktor, film_dyrektor)";
  11. "VALUES (1, 'Majka Seria', 5, 2003, 1, 2),";
  12. "(2, 'Jutro bedzie futro', 5, 1992, 5, 6),";
  13. "(3, 'Skazany na smierc', 2, 1999, 4, 3),";
  14. $sprawdz = mysql_query($wstaw) or die (mysql_error());
  15.  
  16. $typ = "INSERT INTO filmtyp (filmtyp_id, filmtyp_etykieta,) ";
  17. "VALUES (1, 'Dramat'),";
  18. "(2, 'Pszygoda'),";
  19. "(3, 'Wojenny'),";
  20. "(4, 'Komedia'),";
  21. "(5, 'Horror'),";
  22. "(6, 'Akcja'),";
  23. "(7, 'Dla dzieci'),";
  24. "(8, 'Sensacyjny'),";
  25. $sprawdz = mysql_query($typ) or die (mysql_error());
  26.  
  27. $ludzie = "INSERT INTO ludzie (ludzie_id, ludzie_nazwa, ludzie_aktor, ludzie_dyrektor ),";
  28. "VALUES (1, 'Dramat', 1, 0),";
  29. "(2, 'Lukasz Sobczyk', 0, 1),";
  30. "(3, 'Bronisklaw Komorowski', 0, 1),";
  31. "(4, 'Jaroslaw Kaczynski', 1, 0),";
  32. "(5, 'Donald Tusk', 1, 0),";
  33. "(6, 'Adam Malysz', 0, 1),";
  34. $sprawdz = mysql_query($ludzie) or die (mysql_error());
  35.  
  36. echo "Dane zostaly wstawione poprawnie!";
  37.  
  38. ?>



W przeglądarce wywala mi następujący błąd:

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 '' at line 1
kapuch
  1. $wstaw = "INSERT INTO film (film_id, film_tytul, film_typ, film_rok, film_aktor, film_dyrektor)";
  2. "VALUES (1, 'Majka Seria', 5, 2003, 1, 2),";
  3. "(2, 'Jutro bedzie futro', 5, 1992, 5, 6),";
  4. "(3, 'Skazany na smierc', 2, 1999, 4, 3),";

zamiast srednikow daj kropki.
czyli tak:
  1. $wstaw = "INSERT INTO film (film_id, film_tytul, film_typ, film_rok, film_aktor, film_dyrektor)".
  2. "VALUES (1, 'Majka Seria', 5, 2003, 1, 2),".
  3. "(2, 'Jutro bedzie futro', 5, 1992, 5, 6),".
  4. "(3, 'Skazany na smierc', 2, 1999, 4, 3),";

popraw wszedzie.
cojack
Oducz się robienia INSERTa z przecinkami jak VALUES, ponieważ to nie jest standard SQL, tylko wymysł MySQL'a, tak czy siak i tak będziesz miał tyle insertów ile wartości po przecinkach, więc szybciej to nie zadziała.
Po co przypisujesz wynik mysq_query jak z niego później w ogóle nie korzystasz?
Nie zapominaj że po połączeniu z bazą danych dla pewności zawsze ustawiaj kodowanie ( nie szyfrowanie ) połączenia.
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.