Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt nie dodaje danych do bazy
Forum PHP.pl > Forum > Przedszkole
shadow28
Witam mam taki oto skrypt:
I taki problem.. skrypt powinien dodawać nowe rekordy do bazy danych, ale właśnie.. powinien a nie dodaje. Co tu może być nie tego?

Dzięki za odpowiedzi smile.gif
  1. html><body>
  2.  
  3. <form action="form.php" method="post">
  4. imię:<br />
  5. <input type="text" name="imie" /><br />
  6. Nazwisko:<br />
  7. <input type="text" name="nazwisko" /><br />
  8. Ulica:<br />
  9. <input type="text" name="ulica" /><br />
  10. Miejscowość:<br />
  11. <input type="text" name="Miejscowosc" /><br />
  12. <input type="submit" value="Dodaj do bazy" />
  13. </form>
  14. </body></html>
  15. <?php
  16. // odbieramy dane z formularza
  17. $imie = $_POST['imie'];
  18. $nazwisko = $_POST['nazwisko'];
  19. $ulica = $_POST['ulica'];
  20. $miejscowosc = $_POST['miejscowosc'];
  21.  
  22. if($imie and $nazwisko and $ulica and $miejscowosc) {
  23.  
  24. // łączymy się z bazą danych
  25. $connection = @mysql_connect('localhost', 'root', 'xxxx')
  26. or die('Brak połączenia z serwerem MySQL');
  27. $db = @mysql_select_db('baza', $connection)
  28. or die('Nie mogę połączyć się z bazą danych');
  29.  
  30. // dodajemy rekord do bazy
  31. $ins = @mysql_query("INSERT INTO Ludzie(imie, nazwisko, ulica, miejscowosc) Values $imie, $nazwisko,$ulica,$miejscowosc");
  32.  
  33. if($ins) echo "Rekord został dodany poprawnie";
  34. else echo "Błąd nie udało się dodać nowego rekordu";
  35.  
  36. mysql_close($connection);
  37. }
  38.  
  39. ?>
bastard13
Zmień zapytanie:
"INSERT INTO Ludzie(imie, nazwisko, ulica, miejscowosc) Values $imie, $nazwisko,$ulica,$miejscowosc"
na:
"INSERT INTO Ludzie(imie, nazwisko, ulica, miejscowosc) Values ('$imie', '$nazwisko','$ulica','$miejscowosc');"
brakuje ci nawiasów oraz apostrofów.
I rada na przyszłość, nigdy nie używaj @ w kodzie. Błędy się obsługuje i tak naprawdę, każdy jeden przybliża do rozwiązania problemu, a @ je wycisza.
Gdybyś nie użył tego znaku dostałbyś odpowiedni komunikat i pewnie doszedłbyś do rozwiązania.
adasiu
Powinno być
  1. $ins = @mysql_query("INSERT INTO `Ludzie` (`imie`, `nazwisko`, `ulica`, `miejscowosc`) VALUES ('$imie', '$nazwisko', '$ulica', '$miejscowosc'");


Pozdr.
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.