Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z dodawaniem rekordów, Dodawanie rekordów przez formularz
Durkane
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 28.07.2015

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


Witam.

Otóż mam mały problem, zrobiłem formularz i napisałem SQL na dodawanie rekordów z formularza do tabeli w bazie, jednak, gdy uzupełniam pola formularza i daje "Dodaj" wyskakuje mi komunikat, że nie udało się dodać rekordów do bazy.(Przeglądałem różne tematy i nic mi z nich nie pomogło :/ ) Oto kod :

  1. <form action="index.php" method="post">
  2. imię :<br />
  3. <input type="text" name="Imie" /><br />
  4. Nazwisko :<br />
  5. <input type="text" name="Nazwisko" /><br />
  6. PESEL :<br />
  7. <input type="text" name="PESEL" /><br />
  8. NIP :<br />
  9. <input type="text" name="NIP" /><br />
  10. Miasto :<br />
  11. <input type="text" name="Miasto" /><br />
  12. Kod pocztowy :<br />
  13. <input type="text" name="Kod Pocztowy" /><br />
  14. Ulica : <br />
  15. <input type="text" name="Ulica" /><br />
  16. Numer Domu : <br />
  17. <input type="text" name="Numer Domu" /><br />
  18. Numer Mieszkania : <br />
  19. <input type="text" name="Numer Mieszkania" /><br />
  20. Status : <br />
  21. <input type="text" name="Status" /><br />
  22. <input type="submit" value="dodaj" />
  23. </form>
  24.  
  25. <?php
  26. // odbieramy dane z formularza
  27. $imie = $_POST['Imie'];
  28. $Nazwisko = $_POST['Nazwisko'];
  29. $PESEL = $_POST['PESEL'];
  30. $NIP = $_POST['NIP'];
  31. $Miasto = $_POST['Miasto'];
  32. $Kod = $_POST['Kod Pocztowy'];
  33. $Ulica = $_POST['Ulica'];
  34. $Dom = $_POST['Numer Domu'];
  35. $Mieszkanie = $_POST['Numer Mieszkania'];
  36. $Status = $_POST['Status'];
  37.  
  38. if($imie and $Nazwisko) {
  39.  
  40. // łączymy się z bazą danych
  41. $connection = @mysql_connect('localhost', 'root', '')
  42. or die('Brak połączenia z serwerem MySQL');
  43. $db = @mysql_select_db('spis', $connection)
  44. or die('Nie mogę połączyć się z bazą danych');
  45.  
  46. // dodajemy rekord do bazy
  47. $ins = @mysql_query("INSERT INTO spis (Imie, Nazwisko, PESEL, NIP, Miasto, Kod Pocztowy, Ulica, Numer
  48.  
  49. Domu, Numer Mieszkania, Status) VALUES ('$imie',
  50.  
  51. $Nazwisko','$PESEL','$NIP','$Miasto','$Kod','$Ulica','$Dom','$Mieszkanie','$Status' ");
  52.  
  53. if($ins) {
  54. echo "Rekord został dodany poprawnie";
  55. }
  56. else {
  57. echo "Błąd nie udało się dodać nowego rekordu";
  58. }
  59. mysql_close($connection);
  60. }
  61. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
casperii
post
Post #2





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Nie stosuj znaku "@" przed wykonaniem zapytania itp. Po 2 stosuj mysqli bo jest nowsze.
  1. $db = new mysqli($db_host, $db_base, $db_pass, $db_user);
  2. $db -> query("SET NAMES 'utf8'");
  3.  
  4. if(!$db){
  5. echo 'Nie można się połączyć z bazą danych.';
  6. }else{
  7. $query = $db->query("INSERT INTO spis (Imie, Nazwisko, PESEL, NIP, Miasto, Kod Pocztowy, Ulica, Numer
  8.  
  9. Domu, Numer Mieszkania, Status) VALUES ('$imie',
  10.  
  11. $Nazwisko','$PESEL','$NIP','$Miasto','$Kod','$Ulica','$Dom','$Mieszkanie','$Status' ");
  12. }
  13. ...
  14.  

Po 3. zmienne nazywaj bez odstępów (spacji).

Po 4. zobacz jak to mniej więcej powinno być:

  1. <form action="index.php" method="post">
  2. imię :<br />
  3. <input type="text" name="imie" /><br />
  4. Nazwisko :<br />
  5. <input type="text" name="nazwisko" /><br />
  6. PESEL :<br />
  7. <input type="text" name="pesel" /><br />
  8. NIP :<br />
  9. <input type="text" name="nip" /><br />
  10. Miasto :<br />
  11. <input type="text" name="miasto" /><br />
  12. Kod pocztowy :<br />
  13. <input type="text" name="kod_pocztowy" /><br />
  14. Ulica : <br />
  15. <input type="text" name="ulica" /><br />
  16. Numer Domu : <br />
  17. <input type="text" name="numer_domu" /><br />
  18. Numer Mieszkania : <br />
  19. <input type="text" name="numer_mieszkania" /><br />
  20. Status : <br />
  21. <input type="text" name="status" /><br />
  22. <input type="submit" value="dodaj" />
  23. </form>



oraz php:
  1. $db = new mysqli($db_host, $db_base, $db_pass, $db_user);
  2. $db -> query("SET NAMES 'utf8'");
  3.  
  4. // odbieramy dane z formularza
  5. $name = $_POST['imie'];
  6. $surname = $_POST['nazwisko'];
  7. $pes = $_POST['pesel'];
  8. $nip = $_POST['nip'];
  9. $city = $_POST['miasto'];
  10. $postcode = $_POST['kod_pocztowy'];
  11. $street = $_POST['ulica'];
  12. $number = $_POST['numer_domu'];
  13. $number2 = $_POST['numer_mieszkania'];
  14. $status = $_POST['status'];
  15. if(!$db){
  16. echo 'Nie można się połączyć z bazą danych.';
  17. }else{
  18. $query = $db->query("INSERT INTO spis (name, surname, pesel, nip, city, post_code, street, number, number2, status) VALUES ('$name',
  19. $surname','$pesel','$nip','$street','$postcode','$street','$number','$number2','$status' ");
  20.  
  21. //tu tworzysz warunek co ma wyświetlić jak doda lub else jeśli nie doda do bazy.
  22. }


Ten post edytował casperii 17.10.2015, 16:55:07
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: 5.10.2025 - 08:42