Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Jak dodać rekord do bazy? Dlaczego się nie dodaje?
Forum PHP.pl > Forum > Przedszkole
kubek15
Witam
oto mój formularz:
  1. <form action="tworzenie.php" method="post">
  2. Nazwa:<input type="text" name="nazwa" size="30"><br />
  3. Kategoria:<input type="text" name="kategoria" size="30"><br />
  4. Link:<input type="text" name="link" size="60" value="?show="><br />
  5. <input type="submit" value="dodaj">
  6. </form>


a to plik tworzenie.php
  1. <?
  2. $lacz=mysql_connect("mysql1.ugu.pl","db43206","tibia992");
  3. if (!$lacz)
  4. {
  5. echo "polaczenie nieudane";
  6. }
  7. mysql_select_db('db43206');
  8.  
  9. $query="CREATE TABLE menu_lewe (
  10.  link VARCHAR(80),
  11.  nazwa VARCHAR(30),
  12.  kategoria VARCHAR(30),
  13.  id INT NOT NULL AUTO_INCREMENT,
  14.  PRIMARY KEY(id))";
  15. mysql_query($query);
  16.  
  17. // utworzenie krótkich anzw zmiennych
  18.  $nazwa=$_POST['nazwa'];
  19.  $kategoria=$_POST['kategoria'];
  20.  $link=$_POST['link'];
  21. if (!$nazwa || !$kategoria)
  22. {
  23. echo "nie podano wszystkich danych";
  24. }
  25.    
  26. $dodaj="INSERT INTO menu_lewe VALUE ('".$link."', '".$nazwa."', '".$kategoria."')";
  27. $wynik=mysql_query($dodaj);
  28. if (!$wynik)
  29. {
  30. echo "dane nie zostały dodane";
  31. }
  32. mysql_close($lacz);
  33. ?>


i czego mi to nie działa?
thm
ponieważ
  1. INSERT ... value[b]S[/b]
kubek15
dalej nie działa wpisałem VALUES i nic dlaczego?
piaseq
Cytat(kubek15 @ 25.10.2008, 15:49:31 ) *
dalej nie działa wpisałem VALUES i nic dlaczego?

Próbowałeś użyć mysql_error(), żeby sprawdzić na czym dokładnie polega problem?
kubek15
dodałem cos takiego
  1. <?php
  2. $dodaj=mysql_query('INSERT INTO menu_lewe(link, nazwa, kategoria) VALUES("'.$link.'", "'.$nazwa.'", "'.$kategoria.'")');
  3. ?>


i już działa
piaseq
Cytat(kubek15 @ 25.10.2008, 16:16:04 ) *
dodałem cos takiego
  1. <?php
  2. $dodaj=mysql_query('INSERT INTO menu_lewe(link, nazwa, kategoria) VALUES(\"'.$link.'\", \"'.$nazwa.'\", \"'.$kategoria.'\")');
  3. ?>


i już działa

Więc nie działało dlatego, że w zapytaniu miałeś mniej kolumn niż w tabeli i nie wyszczególniłeś, do których chcesz wpisać wartości. Tak jak pisałem wcześniej mysql_error() znacznie ułatwia znalezienie przyczyny błędu.
xbigos
albo też tak

INSERT INTO tabela SET cos_tam='cos_tam'
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.