Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z zapisem do bazy danych rekordu
Forum PHP.pl > Forum > Przedszkole
egonik
Witam

Posiadam następujący formularz:
  1. <form action="form.php" method="post">
  2. Mecz:<br />
  3. <input type="text" name="mecz" /><br />
  4. Data:<br />
  5. <input type="text" name="data" /><br />
  6. Godzina:<br />
  7. <input type="text" name="godzina" /><br />
  8. Sędzia:<br />
  9. <input type="text" name="sedzia" /><br />
  10. <input type="submit" value="dodaj" />
  11. </form>


i następujący skrypt form.php

  1. <?php
  2. // odbieramy dane z formularza
  3. $mecz = $_POST['mecz'];
  4. $data = $_POST['data'];
  5. $godzina = $_POST['godzina'];
  6. $sedzia = $_POST['sedzia'];
  7.  
  8. if($mecz and $data and $godzina and $sedzia) {
  9.  
  10. // łączymy się z bazą danych
  11. $connection = @mysql_connect('sql.referee.nazwa.pl', 'referee_2', 'haslo')
  12. or die('Brak połączenia z serwerem MySQL');
  13. $db = @mysql_select_db('Obsada', $connection)
  14. or die('Nie mogę połączyć się z bazą danych');
  15.  
  16. // dodajemy rekord do bazy
  17. $ins = @mysql_query("INSERT INTO Obsada SET mecz='$mecz', data='$data', godzina='$godzina', sedzia='$sedzia'");
  18.  
  19. if($ins) echo "Rekord został dodany poprawnie";
  20. else echo "Błąd nie udało się dodać nowego rekordu";
  21. }
  22.  
  23. ?>


i nie wiem, ale nie zapisuje mi rekordów w bazie danych
struktura tabeli
id
mecz
data
godzina
sedzia

Wogóle wyskakuje komunikat że brak połaczenia z bazą danych, a więc do tego przechodzi
$connection = @mysql_connect('sql.referee.nazwa.pl', 'referee_2', 'haslo')
or die('Brak połączenia z serwerem MySQL');

Czy możecie pomóc?
wookieb
Temat: Jak poprawnie zadac pytanie
egonik
poprawiłem zmienne ale nie łączy się z bazą
wookieb
Super - masz inne ciekawostki w zanadrzu poza bezsensownym info "nie działa" ?
17misiek09
  1. if ($mecz and $data and
  2. $godzina and $sedzia )

co to wogóle sprawdzą?

usun to i klamerki,

później masz błąd w dodawaniu do bazy.

  1. INSERT INTO nazwatabeli (komórka1,komórka2,komórka3) VALUES ('zmienna1','zmienna2','zmienna3')

tak powinno mniej więcej wygladac zapytanie.
egonik
Zmiana polecenia sql nic nie daje, usunięcie warunku również.

Musiałem dodać jeszcze port i teraz z samą bazą danych mi się łączy, ale nie chce wybrać tabeli "Obsada"

Czy wiecie co należy zrobić, bo już ślęczę nad tym parę godzin?

Wyskakuje mi Access denied for user 'referee_2'@'%' to database 'Obsada'

Moja baza danych znajduje się na nazwa.pl
miedziopl
A nie powinno być czasem :
Kod
$ins = INSERT INTO Obsada VALUES (NULL, mecz='$mecz', data='$data', godzina='$godzina', sedzia='$sedzia'");
pole Id też musisz czymś wypełnić albo NULL-em albo id='' w zależności co pisałeś przy tworzeniu tabeli.
17misiek09
a sproboj polaczyc sie przez to:

  1. $user = "referee_2"; //
  2. $haslo = "haslo"; // Rzecz jasna wszystkie te dane zależą od naszej konkretnej bazy!
  3. $db = "nazwa_bazy_danych"; //
  4. $adres = "sql.referee.nazwa.pl";
  5. $link = mysql_connect( $adres, $user, $haslo);


dodawanie do bazy:
  1. $sql =mysql_query("INSERT INTO `Obsada` (id,mecz,data,godzina,sedzia) VALUES ('','$mecz','$data','$godzina','$sedzia')";
  2.  
  3. $rezultat = mysql_query($sql) or die(mysql_error());


ewentualnie sprawdz co przekazuje $_POST.
  1. echo 'mecz '.$_POST['mecz'];
  2. echo 'data '.$_POST['data'];
  3. echo 'godzina '.$_POST['godzina'];
  4. echo 'sedzia '.$_POST['sedzia'];
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.