Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie danych z formularza
Forum PHP.pl > Forum > Bazy danych > MySQL
szymon189
Mam problem z dodaniem danych z formularza do bazy danych:
plik index.php
  1. <?php session_start();
  2. mysql_connect("localhost","root","") or die(mysql_error()."Nie mozna polaczyc sie z baza danych. Prosze chwile odczekac i sprobowac ponownie.");
  3. mysql_select_db("poloniamarklowice") or die(mysql_error()."Nie mozna wybrac bazy danych.");
  4. ?>
  5.  
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  8. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  10. <head>
  11. <title>Moja pierwsza strona na DIVach</title>
  12. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  13. <link rel="stylesheet" type="text/css" href="style.css" />
  14. </head>
  15. <body>
  16. <div id="zawartosc">
  17. <div id="NAGLOWEK"></div>
  18. <div id="MENUPOZIOME">
  19.  
  20. <ul>
  21. <li><a href="czcionki.html">Czcionki</a></li>
  22. <li><a href="tekst.html">Tekst</a></li>
  23. <li><a href="tlo.html">Tło</a></li>
  24. <li><a href="marginesy.html">Marginesy</a></li>
  25. <li><a href="obramowanie.html">Obramowanie</a></li>
  26. </ul>
  27.  
  28. </div>
  29. <div id="MENUPIONOWE">
  30. <ul>
  31. <li><a href="czcionki.html">Czcionki</a></li>
  32. <li><a href="czcionki.html">Czcionki</a></li>
  33. <li><a href="czcionki.html">Czcionki</a></li>
  34. <li><a href="czcionki.html">Czcionki</a></li>
  35. </ul></div>
  36. <div id="MENU">Menu nawigacyjne</div>
  37. <div id="TRESC">Tresc strony<br>Tresc strony<br>Tresc strony<br>Tresc strony<br>
  38. <form method="POST" action="dodaj_zawodnika.php">
  39. Podaj imię: <input type="text" size="30" name="imie"><br>
  40. Podaj nazwisko: <input type="text" size="40" name="nazwisko"><br>
  41. Podaj pozycję: <input type="text" size="40" name="pozycja"><br>
  42. <input type="submit" value="wyślij!">
  43. </form>
  44. </div>
  45. <div id="STOPKA">Copyright 2012 by Szymon Iskra</div>
  46. </div>
  47. </body>
  48. </html>


dodaj.zawodika.php
  1. <?php
  2.  
  3. mysql_connect("localhost","root","") or die(mysql_error()."Nie mozna polaczyc sie z baza danych. Prosze chwile odczekac i sprobowac ponownie.");
  4. mysql_select_db("poloniamarklowice") or die(mysql_error()."Nie mozna wybrac bazy danych.");
  5.  
  6. $imie = $_POST['imie'];
  7. $nazwisko = $_POST['nazwisko'];
  8. $pozycja = $_POST['pozycja'];
  9.  
  10. $query = mysql_query("INSERT INTO 'zawodnicy' VALUES('".$imie."','".$nazwisko."','".$pozycja."')");
  11.  
  12. ?>


Niestety nie dodaje do bazy. Co robię źlę?
Firebright
Spróbuj zamienić znaki otaczające nazwę tabeli z ' na ` (ten przy tyldzie ~) lub je usuń. Jeżeli to nie pomoże, podaj proszę strukturę tabeli zawodnicy.
szymon189
Nadal niedziała

Fei
Nie za duży tych " ? Może coś takiego zadziała(ja u siebie tak wrzucam dane do bazy i działa).
  1. $query = mysql_query("INSERT INTO `zawodnicy`(imie, nazwisko, pozycja) VALUES('$imie', '$nazwisko', '$pozycja')");
Firebright
Masz błąd w zapytaniu. Twoja tabela ma pięć kolumn, ty uzupełniasz jedynie trzy z nich. Powinieneś albo podać kolumny, dla których wstawiasz, albo podawać wartości dla wszystkich kolumn, czyli:
  1. $query = mysql_query("INSERT INTO `zawodnicy`(imie, nazwisko, pozycja) VALUES('".$imie."','".$nazwisko."','".$pozycja."')");

albo
  1. $query = mysql_query("INSERT INTO `zawodnicy` VALUES(0, '".$imie."','".$nazwisko."','".$pozycja."', NULL)");

Przy czym tak jak pisałem zastosuj znak ` nie ' przy nazwie tabeli. Podwójny apostrof przy zmiennych nie ma tu znaczenia (choć oczywiście sposób podany przez Fei jest jak najbardziej poprawny i zapytanie podane przez niego będzie działać poprawnie), jest to jedynie kwestia sposobu budowania zapytania.
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-2024 Invision Power Services, Inc.