Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tworzenie z php tabeli i recordów
Forum PHP.pl > Forum > PHP
de_gie
Witam serdecznie minowicie mam taki problem ze z poziomu php chcialbym tworzyc tabele i wpisywac dane do niej recordy. o to moj kod
  1. <?php
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('localhost', 'admin_degie', 'xxxxxx')
  4. // w przypadku niepowodznie wyświetlamy komunikat
  5. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  6. // połączenie nawiązane ;-)
  7. echo "Udało się połączyć z serwerem!<br />";
  8. // nawiązujemy połączenie z bazą danych
  9.  
  10.  
  11. $zapytanie = 'CREATE TABLE nba (id int NOT NULL AUTO_INCREMENT, imie char(30), lata char(3), punkty char(3), mistrzostwa char(3), PRIMARY KEY(id))';
  12.  
  13.  
  14.  
  15.  
  16.  
  17. ?>

polaczenie sie nawiazuje jest ok problem ze potem jak sprawdzam z phpmyadmin to nic sie nie tworzy cos tu napewno jest zle albo czegos brakuje z gory bardzo dziekuje za pomoc oglnie zielony jestem w programowaniu sad.gif
webmaniak
Jeśli masz taki kod i nie wiesz co jest w nim nie tak, to odpal phpmyadmin i wpisz go tam. Druga sprawa:
  1. 'CREATE TABLE `test`.`dokumentacja` (
  2. `id_dok` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `nazwa_dok` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL ,
  4. ...
  5. `data` DATETIME NOT NULL
  6. ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_polish_ci';

To jest moje zapytanie które tworzy tabele. I na pewno działa. Wstaw do swojego i będzie hulać.
de_gie
wlasnie robilem z phpmyadmin w phpmyadmin ladnie sie tworzy tabela wiec klkam na zeby zrobilo kod php i z strony www jak wykona sie skrypt w phpmyadmin nic sie nowego nie pojawia sad.gif o to kod bo troche poprawilem ale nic nie dalo sad.gif
  1. <?php
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('localhost', 'admin', 'xxxxxx')
  4. // w przypadku niepowodznie wyświetlamy komunikat
  5. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  6. // połączenie nawiązane ;-)
  7. echo "Udało się połączyć z serwerem!<br />";
  8. // nawiązujemy połączenie z bazą danych
  9.  
  10.  
  11. mysql_select_db ("admin_dane") or die ("Nie mozna wybrac bazy danych");
  12.  
  13. $sql = "CREATE TABLE `nowatrzy`(\n"
  14. . "tytul VARCHAR(60)\n"
  15. . ")\n"
  16. . ";";
  17.  
  18.  
  19.  
  20.  
  21.  
  22. ?>
  23.  
  24.  


teraz admin i haslo w polaczeniu sa takie same jak sie loguje do phpmyadmin nastepnie wybieram baze ktora mam juz utworzona admin_dane no idalej jest kod do tworzenia tabeli z phpmyamin i nic sie nie dzieje zaznacze jeszcze ze nadole w phpadmin wyswietla sie komunikat

Dodatkowe możliwości pracy z połączonymi tabelami zostały wyłączone. Aby dowiedzieć się, dlaczego - kliknij moze to powoduje jakias blokade
webmaniak
Czy ta zmienna $sql prezentuje Twój cały kod SQL? Bo jeśli tak to musisz jeszcze to zmienić. Jak? Napisałem wyżej. Dodatkowo musisz jeszcze wykonać to zapytanie, czyli
  1. if(mysql_query($sql)) //jeśli tabela została poprawnie utworzona
  2. {
  3. //komunikat że utworzono, albo wywołanie innej funkcji
  4. }
  5. else //jeśli nie utworzono tabeli
  6. {
  7. echo 'Wystąpił błąd przy tworzeniu tabeli' . mysql_error() . "\n";; //wyświetlamy komunikat o błędzie
  8. }

Zobaczysz sam jaki masz komunikat błędu.
Generalnie musisz utworzyć kod SQL taki jak podałem w pierwszym moim poście. Jeśli nie pomoże to wklej więcej kodu albo napisz jakie masz/chcesz mieć pola w tabeli.
de_gie
dziala super dzieki wielkie za pomoc tylko mam pytanko dziala jak jest warunek if(mysql_query($sql)) to co ten warunek robi w ktorym momencie tworzy sie tabela bo wczesniej mialem zdeklarowana tabele do zmiennej $SQL ale pewnie sie w tym momencie nie tworzyla wiec w ktorym wydaje mi sie ze if(mysql_query($sql)) tu ale prosilbym o wyjasnienie tego kodu
webmaniak
Ja tam specjalistą nie jestem, tym bardziej nie umiem fachowo tłumaczyć, napiszę jak ja to rozumiem. To co miałeś w zmiennej $sql to samo zapytanie. Tak samo jakbyś miał:
  1. $tekst = "Ala ma kota";

Jeśli taki tekst chcesz wyświetlić w przeglądarce musisz użyć echo bądź print:
  1. echo $tekst;

Analogicznie jest ze zmienną $sql którą utworzyłeś. Sama zmienna nic nie zmieni. Żeby wykonać zapytanie, czyli żeby w bazie coś się zrobiło należy użyć mysql_query. Równie dobrze możesz zrobić:
  1. $sql="CREATE ...";
  2. $wykonaj = mysql_query($sql);
  3. if($wykonaj)
  4. {
  5. //komunikat że utworzono, albo wywołanie innej funkcji
  6. }
  7. else //jeśli nie utworzono tabeli
  8. {
  9. echo 'Wystąpił błąd przy tworzeniu tabeli' . mysql_error() . "\n";; //wyświetlamy komunikat o błędzie
  10. }

Podsumowując mysql_query służy do wykonania tego zapytania $sql, a ten if jest po to żeby sprawdzić czy wszystko przebiegło pomyślnie. Jeśli tak to zmienna $sql(w przypadku wyżej zmienna $wykonaj) ma wartość true czyli 1, a jeśli nie to ma wartość false, czyli 0.
Mam nadzieję że przybliżyłem nieco działanie kodu smile.gif.
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.