Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Problem z korzystaniem z bazy danych
mistrzuni0
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.01.2013

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


Cześć czołem.

Postanowiłem zrobić coś dla siebie i nauczyć się coś niecoś z PHP i MySQL.

Działam na podstawie książki PHP5, Apache, MySQL - Od podstaw.


Wszystko szło elegancko do momentu kiedy zaczęło się korzystanie z bazy danych. Już na początku rozdziału utknąłem i mimo przeanalizowania konfiguracji od początku, nie mogę znaleźć błędu i ruszyć dalej [']

Nie wiem w czym tkwi problem, ale po napisaniu danej strony i próbie otworzenia jej w przeglądarce, wyskakuje error 500 i po zawodach.

  1. <?php
  2. //połączenie z bazą mysql
  3. $connect = mysql_connect("localhost". "krystian". "haslo") or
  4. die ("Sprawdź połączenie z serwerem.");
  5.  
  6. //utworz baze danych jezeli jeszcze nie istnieje
  7. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")
  8. or die (mysql_error());
  9.  
  10. // wybierz nowo utworzoną bazę danych
  11. mysql_select_db("moviesite");
  12.  
  13. //utworz tabele movie
  14. $movie = "CREATE TABLE movie (
  15. movie_id int(11) NOT NULL auto_increment.
  16. movie_name varchar(255) NOT NULL.
  17. movie_type tinyint(2) NOT NULL defeault 0.
  18. movie_year int(4) NOT NULL defeault 0.
  19. movie_leadactor int(11) NOT NULL defeault 0.
  20. movie_director int(11) NOT NULL defeault 0.
  21. PRIMARY KEY (movie_id).
  22. KEY movie_type (movie_type.movie_year)
  23. )";
  24. $results = mysql_query($movie)
  25. or die (mysql_erro());
  26.  
  27. //utworz tabele movietype
  28. $movietype = "CREATE TABLE movietype (
  29. movietype_id int(11) NOT NULL auto_increment.
  30. movietype_label varchar(100) NOT NULL.
  31. PRIMARY KEY (movietype_id)
  32. )";
  33.  
  34. $results = mysql_query($movietype)
  35.  
  36. //utworz tabele people
  37. $people = "CREATE TABLE people (
  38. people_id int(11) NOT NULL auto_increment.
  39. people_fullname varchar(255) NOT NULL.
  40. people_isactor tinyint(1) NOT NULL defeault 0.
  41. people_isdirector tinyint(1) NOT NULL defeault 0.
  42. PRIMARY KEY (people_id)
  43. )";
  44.  
  45. $results = mysql_query($people)
  46.  
  47. echo "Poprawnie utworzono bazę danych filmow!";
  48.  
  49. ?>


według jakiegoś online syntax checkera sam kod jest poprawny.
mysql włącza mi się razem z windowsem, apache również śmiga na bieżąco.

ku formalności - korzystam z php w wersji 5.2.17 oraz mysql w wersji 6.0.0.

Hilfe, nie mogę ruszyć dalej z nauką ; /

Ten post edytował mistrzuni0 22.01.2013, 18:39:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mistrzuni0
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.01.2013

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


error 404 dla powyższego linku, możesz poprawić?

Dalej nie ogarniam kuwety z tym sqlem.
W nadziei, że to coś pomoże, zainstalowałem Apache w wersji 2.2 i php w wersji 5.3. MySql nie zmieniałem.


w php.ini zmienilem zawartość na następującą:

Kod
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
extension=php_mysql.dll
extension_dir="C:\PHP\ext"

log_errors=On
error_log="C:\Windows\temp\php-errors.log"


Ale dalej nic z tego. Teraz w nowszym php wywala mi po prostu więcej błędów zamiast jednej linijki ;p

Cytat
Warning: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Nieznany host. in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7

Warning: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7

Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: Nieznany host. (trying to connect via tcp://localhostkrystianhaslo:3306) in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7

Warning: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Nieznany host. in C:\Program Files\Apache Software Foundation\Apache2.2\test\createmovie.php on line 7
SprawdŸ połšczenie z serwerem.


Pomóżcie, Panowie (IMG:style_emoticons/default/smile.gif)



Coś si ruszyło.
Powyższy natłok błędów udało się usunąć dodając na początku skryptu linijkę

date_default_timezone_set('Europe/Warsaw');

teraz całość wygląda w następujący sposób:
  1. <?php
  2.  
  3. date_default_timezone_set('Europe/Warsaw');
  4.  
  5. ini_set('display_errors','1');
  6.  
  7. //połączenie z bazą mysql
  8. $connect = mysql_connect("localhost", "krystian", "haslo") or
  9. die ("Sprawdź połączenie z serwerem.");
  10.  
  11. //utworz baze danych jezeli jeszcze nie istnieje
  12. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")
  13. or die (mysql_error());
  14.  
  15. // wybierz nowo utworzoną bazę danych
  16. mysql_select_db("moviesite");
  17.  
  18. //utworz tabele movie
  19. $movie = "CREATE TABLE movie (
  20. movie_id int(11) NOT NULL auto_increment,
  21. movie_name varchar(255) NOT NULL,
  22. movie_type tinyint(2) NOT NULL defeault 0,
  23. movie_year int(4) NOT NULL defeault 0,
  24. movie_leadactor int(11) NOT NULL defeault 0,
  25. movie_director int(11) NOT NULL defeault 0,
  26. PRIMARY KEY (movie_id),
  27. KEY movie_type (movie_type.movie_year)
  28. )";
  29. $results = mysql_query($movie)
  30.  
  31. //utworz tabele movietype
  32. $movietype = "CREATE TABLE movietype (
  33. movietype_id int(11) NOT NULL auto_increment,
  34. movietype_label varchar(100) NOT NULL,
  35. PRIMARY KEY (movietype_id)
  36. )";
  37.  
  38. $results = mysql_query($movietype)
  39.  
  40. //utworz tabele people
  41. $people = "CREATE TABLE people (
  42. people_id int(11) NOT NULL auto_increment,
  43. people_fullname varchar(255) NOT NULL,
  44. people_isactor tinyint(1) NOT NULL defeault 0,
  45. people_isdirector tinyint(1) NOT NULL defeault 0,
  46. PRIMARY KEY (people_id)
  47. )";
  48.  
  49. $results = mysql_query($people)
  50.  
  51. echo "Poprawnie utworzono bazę danych filmow!";
  52.  
  53. ?>


Ale dalej nie działa jak należy i wypluwa przy próbie załadowania strony coś takiego:
Kod
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 'defeault 0, movie_year int(4) NOT NULL defeault 0, movie_leadactor int(11) N' at line 4


Gdzie jest błąd? ; (
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 14:35