Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zwracanie rekordu "0"
Forum PHP.pl > Forum > Przedszkole
Dominator
Cześć

Mam taki "błąd" który polega na tym że gdy wpisuję do pola np: FORUM czy PROGRAMOWANIE to wyskakuje mi rekord 0

Dlaczego ?

  1. <form action="index.php" method="POST">
  2. Nick:<input type="text" name="nick"><br>
  3. Nagroda:<input type="text" name="prize"><br>
  4. <input type="submit" value="przeslij requesta" name="post">
  5.  
  6. <?php
  7. $polaczenie = mysql_connect('XXX', 'p1XXXXnato', 'XXXXXXXXXXXXXXXX') or die (mysql_error());
  8. $baza = mysql_select_db('pXXXr', $polaczenie) or exit(mysql_error());
  9.  
  10. if($_POST['post']){
  11. $nick = $_POST['nick'];
  12. $prize = $_POST['prize'];
  13. $dodaj = mysql_query("INSERT INTO wygrani (nick, prize) VALUES ('".$nick."', '".$prize."')", $polaczenie) or die(mysql_error());
  14. echo "Dodano";
  15. }
  16. ?>
  17. <br>
  18. Ci ktorzy wygrali to:
  19.  
  20. <?php
  21. include('db.php');
  22.  
  23. $zapytanie = "SELECT nick, prize FROM wygrani";
  24. $pobierz = mysql_query($zapytanie);
  25.  
  26. while($dane = mysql_fetch_array($pobierz))
  27. {
  28. echo $dane['nick'];
  29. echo $dane['prize'];
  30. }
  31.  
  32. ?>


pomoże ktoś ?
YaQzi
  1. if($_POST['post'])

tu lepsze będzie
  1. if(isset($_POST['post']))


To samoprzetwarzający się form więc możesz z tego zrezygnować: action="index.php"

Co do błędu to sprawdź co będzie jak domkniesz formularz </form>
i te inputy też by było miło zakończyć /> a nie samym > chociaż to akurat powinno działać mimo wszystko

Jak to nic nie da to podaj strukturę tabeli 'wygrani' albo sprawdź jakieś "suche" zapytanie czy zadziała. np "INSERT INTO wygrani (nick, prize) VALUES ('testy', 'testy')"
nospor
A ja tak z czystej ciekawości: co to jest rekord 0 ?
Rid
Nie podał Pan jakie typy komórek ma Pan w bazie danych,więc nie jestem pewny ,czy dobrze wnioskuję.
Jeśli ma Pan komórkę w bazie typu int,a do tej komórki nie zostały dodane dane ,baza danych wypluje wartość 0,gdyż
zmienna int nie jest typem nullable.
Armed
Nie zrozumiałem jednej rzeczy, otóż dodaje do bazy 0 zamiast danych?
Czy "wypluwa" z bazy 0 mimo że w bazie jest dobrze.
Jeżeli w bazie 0 to zgadzam się z Rid'em otóż może masz błędne typy komórek.

PS. Doradzam zabezpieczenie $_POST
Rid
Otóż tak jeśli do komórki typu int nie zostały wprowadzone żadne dane ,mimo ,że komórka ta ma ustawioną właściwość allow null,to do komórki tej zostanie wprowadzona wartość 0 ,gdyż zmienna typu int nie jest nullable w przeciwieństwie do stringa.
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.