Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Insert do bazy danych - absurd jakis
Forum PHP.pl > Forum > Przedszkole
zicher
Witam

Mam nastepujacy problem. Otoz moj kod obslugujacy formularz nie dodaje do bazy danych. Wiem w w ktorej czesci kodu tkwi blad, ale nie wiem dlaczego wystepuje sad.gif. Dla mnie osobiscie to jakis absurd jest bo w innym formularzu to dziala. Moze to wynik konstrukcji bazy?

Tak oto wyglada kod obslugujacy formularz:

  1. <?
  2. if(isset($_POST['submit']))
  3. {
  4.  
  5. $sql = "INSERT INTO kartaopis VALUES('', ".$_POST['koszt'].", ".$_POST['numersetowy'].", ".$_POST['numersetowyna'].", ".$_POST['power'].", ".
  6. $_POST['toughness'].", ".$_POST['printtekst'].", ".$_POST['oracletext'].", ".$_POST['flavortekst'].", ".$_POST['grafika'].", ".$_POST['ilosc'].", ".$_POST['stan'].", ".$_POST['secislaw'].", 
  7. ".$_POST['rarity'].", ".$_POST['kartanazwa'].", ".$_POST['rodzajseta'].", ".$_POST['cycle'].")";
  8. $kartaopisid = mysql_insert_id();
  9.  
  10. print("dane zostały dodane do bazy <font class=\"greenb\">kartaopis</font> - <font class=\"nbb\">$kartaopisid</font><BR>");
  11.  
  12. echo 'koszt - '.$_POST['koszt'].'<br>';
  13. echo 'Numer Setowy - '.$_POST['numersetowy'].'<br>';
  14. echo 'Numer Setowy - '.$_POST['numersetowyna'].'<br>';
  15. echo 'Power - '.$_POST['power'].'<br>';
  16. echo 'Touh - '.$_POST['toughness'].'<br>';
  17. echo 'printtekst - '.$_POST['printtekst'].'<br>';
  18. echo 'oracle - '.$_POST['oracletext'].'<br>';
  19. echo 'Flavor - '.$_POST['flavortekst'].'<br>';
  20. echo 'grafika - '.$_POST['grafika'].'<br>';
  21. echo 'ilosc - '.$_POST['ilosc'].'<br>';
  22. echo 'stan - '.$_POST['stan'].'<br>';
  23. echo 'Secislaw - '.$_POST['secislaw'].'<br>';
  24. echo 'rarity - '.$_POST['rarity'].'<br>';
  25. echo 'karta nazwa - '.$_POST['kartanazwa'].'<br>';
  26. echo 'Rodzaj - '.$_POST['rodzajseta'].'<br>';
  27. echo 'Cycle - '.$_POST['cycle'].'<br>';
  28.  
  29. ...etc.
  30. }
  31. ?>


Wszystkie echa pokazuja dane dokladnie takie jakie wpisalem. Jedynie $kartaopisid pokazuje zero. Co wiecej wszedzie dodaje poprawnie poza kartaopis gdzie nie dodaje wcale, do innych tabel wszystko dodaje dobrze tylko ze $kartaopisid jest zero.

Bardzo prosze o pomoc poniewaz mam do wrzucenia jakies 1800 wpisow i nie jestem wstanie pamietac ciagle jakies 7 ide na okraglo przy kazdym wpisie innego ;(

Z powazaniem
zicher
luinnar
Wyświetl sobie $sql, i popatrz dokładnie. Zadam pytanie aby podpowiedzieć: Jak wrzucamy ciągi znaków w zapytaniu sql?
zicher
Witam

Dzieki za odpowiedz niestety ona mi nic nie mowi. Wyswietlilem juz dawno $sql i wiem, ze problem tkwi tutaj:

Kod
VALUES('',


Problem polega na tym, ze ja zrobilem juz wiele formularzy z tym zapisem dokladnie i one dzialaja, a ten nie sad.gif

nigdy nie uzywalem innego zapisu. Jesli mozesz mi pokazac jak ma to wygladac bylbym zobowiazany. A gdybys mi wyjasnil dlaczego jeden formularz obslugiwany przez ten sam zapis dziala a inny nie (Zaznacze, ze ten powstal poprzez skopiowanie poprzedniego i zamienienie tylko zmiennych w postach) stalbym sie najszczesliwszym czlowiekiem na swiecie winksmiley.jpg

Przyznaje ze nie wiem o co Ci chodzi z zapisywaniem ciagow znakow. Ten zapis
  1. <?php
  2. '',
  3. ?>
przy id z auto icrement ma wpisywac kolejne id do bazy.

Zaznacze ze jestem poczatkujacym phppowcem.

Z powazaniem
zicher
luinnar
Podam Ci 2 przykłady z których wywnioskujesz o co mi chodzi:
  1. INSERT
  2. INTO tableka
  3. VALUES('ciąg znaków', '2 ciąg znaków')

  1. INSERT
  2. INTO tableka
  3. VALUES(ciąg znaków, 2 ciąg znaków)


Zauważ, że używamy znaków ' do określania początku i końca ciągu. Wyświetl jeszcze raz $sql i sprawdź czy jak jest u Ciebie.

Kod
VALUES('', ...
jest ok
zicher
Witam ponownie

Dzieki za informacje, nie wpadlbym na to ze to to moze byc przyczyna.

Nie rozumiem tylko dlaczego formularz poprzedni dziala chociaz jest zapisany identycznie sad.gif

Jeszcze raz dziekuje

Z powazaniem
zicher
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.