Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dodaje puste rekordy.
Forum PHP.pl > Forum > Przedszkole
szczalpi
Witam
Mam maly problem z dodawanie rekordow. Kiedy chce dodac nowy rekord dodaje, ale pojawia sie pusty wpis. Nie dodaje tresci. Prosze o pomoc. NIe wiem gdzie lezy blad. ponizej podaje kod:
  1. <form method="POST" enctype="multipart/form-data" action="dodano_ogloszenie.php">
  2. <td align="left" width="250"><p class="reg">MIasto:*<br><input type="text" name="miasto" ></tr>
  3. <td align="left" width="250"><p class="reg">Woj:*<br><input type="text" name="wojewodztwo"></tr>
  4. <td align="left" width="250"><p class="reg">link:*<br><input type="text" name="link"></tr>
  5. <td align="left" width="250"><p class="reg">Treść *<br><textarea rows="7" name="tresc" cols="59"></textarea></table>
  6. <center><input type="submit" name="submit" value="Dodaj"></center>

  1. <?
  2. $db=mysql_connect('127.0.0.1', 'cos', 'cos');
  3. mysql_select_db('cos', $db);
  4. mysql_query($sql);
  5. $sql = "insert INTO kamery VALUES(
  6. '$nr',
  7. '$miasto',
  8. '$wojewodztwo',
  9. '$link',
  10. '$tresc')";
  11. mysql_query($sql);
  12. ?>
  13. <?echo "<p>Twój wpis został dodany do naszej bazy, czeka teraz na aktywacje przez administratora</p>";?>
lepmajster
zamiast np. $nr daj $_POST['nr'].
czyli:
  1. $sql = "insert INTO kamery VALUES(
  2. '".$_POST['nr']."',
  3. '".$_POST['miasto']."',
  4. '".$_POST['wojewodztwo']."',
  5. '".$_POST['link']."',
  6. '".$_POST['tresc']."')";
bastard13
Ten $nr to id? Skąd bierzesz tą wartość? Jeżeli to auto increment to zapytanie może być takie:
  1. $qry="insert into kamery (nazwa_kolumny_z_miastami,nazwa_kol_wojewodztwa,kol_link,kol_tresc) values ('$_POST['miasto']','$_POST['wojewodztwo']','$_POST['link']','$_POST['tresc']')";

i nie musisz się zastanawiać jaka jest wartość zmiennej $nr.
Jeżeli skądś ja bierzesz to dodaj w kodzie echo $sql; i pokaż co ci wyrzuca na ekran.
szczalpi
Niestety tak samo jest sad.gif. Dodaje pusty rekord.

tak $nr jako auto increment
lepmajster
Cytat(szczalpi @ 20.06.2010, 12:13:08 ) *
Niestety tak samo jest sad.gif. Dodaje pusty rekord.

A skopiowales tak jak napisalem?
Bo jesli uzywa sie $_POST to nie mozna wstawiac tego wewnatrz " ", trzeba "value(".$_POST[].")" - trzeba oddzielac.

jesli $nr to auto increment to faktycznie tu masz blad. wstaw tam puste sredniki ''
szczalpi
echo $sql pojawia sie: insert INTO kamery VALUES( '', '', '', '', '')
pedro84
Zastanów się. Formularz wysyłasz POSTem, czyli np. $_POST['imie'], a próbujesz dodać $imie. Widzisz błąd?
Ulysess
czy pola w bazie nie są przypadiem luczbowe typu INT itp ?

tak jak Tobie poradził bastard13 wyświetl zmienną $sql i zobacz jak wygląda zapytanie..
lepmajster
Zrob tak jak napisalem
  1. $sql = "insert INTO kamery VALUES(
  2. '',
  3. '".$_POST['miasto']."',
  4. '".$_POST['wojewodztwo']."',
  5. '".$_POST['link']."',
  6. '".$_POST['tresc']."')";

i powinno dzialac. albo teraz daj echo $sql; oczywiscie po tym kodzie.
bastard13
To jeżeli wyświetla ci puste pola, to przeczytaj te kilka postów, które tutaj napisano i zmień swoje $zmienna na $_POST['zmienna'] i tak jak napisał lepmajster musisz je oddzielić:
  1. echo 'tekst'.$_POST['zmienna'].'reszta tekstu';
szczalpi
ok dzieki smile.gif juz dziala.....
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.