Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mySQL][PHP]Nie dodaje do bazy danych. Tablica?
Forum PHP.pl > Forum > Przedszkole
kamil-s
Witam,
Stworzyłem taki prosty skrypt dodawania do bazy mySQL, ale nie dodaje.
Plik jest includowany z drugiego pliku, więc połączenie z bazą danych jest.
Przypuszczam że jakoś źle zrobiłem z tymi tablicami i stringami.
Proszę o pomoc.

  1. <?
  2.  
  3. $x=1;
  4. while($x <= 3){
  5.  
  6.  
  7.  
  8. $z=$y;
  9. $u=1;
  10.  
  11. while($u == 25){
  12. $losa = rand(1,25);
  13.  
  14. if($losa == 1){$los[$u]=6;}
  15. if($losa == 2){$los[$u]=9;}
  16. if($losa == 3){$los[$u]=9;}
  17. if($losa == 4){$los[$u]=8;}
  18. if($losa == 5){$los[$u]=7;}
  19. if($losa == 6){$los[$u]=7;}
  20. if($losa == 7){$los[$u]=5;}
  21. if($losa == 8){$los[$u]=5;}
  22. if($losa == 9){$los[$u]=5;}
  23. if($losa == 10){$los[$u]=5;}
  24. if($losa == 11){$los[$u]=5;}
  25. if($losa == 12){$los[$u]=5;}
  26. if($losa == 13){$los[$u]=5;}
  27. if($losa == 14){$los[$u]=5;}
  28. if($losa == 15){$los[$u]=5;}
  29. if($losa == 16){$los[$u]=5;}
  30. if($losa == 17){$los[$u]=0;}
  31. if($losa == 18){$los[$u]=0;}
  32. if($losa == 19){$los[$u]=0;}
  33. if($losa == 20){$los[$u]=0;}
  34. if($losa == 21){$los[$u]=0;}
  35. if($losa == 22){$los[$u]=0;}
  36. if($losa == 23){$los[$u]=0;}
  37. if($losa == 24){$los[$u]=0;}
  38. if($losa == 25){$los[$u]=0;}
  39.  
  40. $u++;
  41. }
  42.  
  43.  
  44. echo "<br>2: ";
  45. $zapytanie = "INSERT INTO `mapa` (`z`, `1`, `2`, `3`, `4` , `5`, `6`, `7`, `8`, `9` , `10`, `11`, `12`, `13`, `14` , `15`, `16`, `17`, `18`, `19` , `20`, `21`, `22`, `23`, `24` , `25`) VALUES (`$z`, `$los[1]`, `$los[2]`, `$los[3]`, `$los[4]`, `$los[5]`, `$los[6]`, `$los[7]`, `$los[8]`, `$los[9]`, `$los[10]`, `$los[11]`, `$los[12]`, `$los[13]`, `$los[14]`, `$los[15]`, `$los[16]`, `$los[17]`, `$los[18]`, $los[19]`, `$los[20]`, `$los[21]`, `$los[22]`, $los[23]`, `$los[24]`, `$los[25]`)";
  46. $idzapytania = mysql_query($zapytanie);
  47.  
  48.  
  49.  
  50. $x++;
  51. }
  52.  
  53. ?>


nospor
while($u == 25)
Powiedz mi proszę, co wg. Ciebie robi ten warunek?

ps: przenoszę.
mortus
Poza tym w zapytaniu gravisy stosujemy przy nazwach kolumn (przed słowem VALUES), a apostrofy lub cudzysłowy przy wartościach dla tych kolumn (po słowie VALUES).
Zamiast stosować tyle porównań można zrobić tak:
  1. if($losa >= 17 && $losa <= 25) $los[$u] = 0;
  2. // resztę sobie sam przekształć
kamil-s
Czyli muszę zmienić warunek na
  1. >=

i zmienić w poleceniu mySQL na

  1. VALUES ('$z', '$los[1]', ...

?
nospor
Myśl.... nie strzelaj!

while($u >= 25)
Dopóki $u jest większe od 25? Przecież na dzień dobry $u=1, wiec niby jakim cudem $u>=25 będzie prawdziwe?
kamil-s
Dzięki, pętla już działa.
A z tymi stringami to jak?

VALUES ($z, $los[1], $los[2] ...
?
VALUES ('$z', '$los[1]', '$los[2]'
?
nospor
Tekst bierze się w apostrofy
Liczby nie - zakładam, że na liczby założyłeś pola liczbowe.

ps:
Temat: Jak poprawnie zada pytanie
Zapoznaj się z tym tematem i zastosuj - przyda ci się.
kamil-s
Poprawiłem wszystko i nadal nie działa.
Na ten moment kod wygląda tak.
  1. <?
  2. $u=1;
  3.  
  4. while($u <= 25){
  5.  
  6. $losa = rand(1,25);
  7.  
  8. if($losa == 1){$los[$u]=6;}
  9. if($losa == 2){$los[$u]=8;}
  10. if($losa >= 3 && $losa <= 4) {$los[$u] = 9;}
  11. if($losa >= 5 && $losa <= 8) {$los[$u] = 7;}
  12. if($losa >= 7 && $losa <= 16) {$los[$u] = 5;}
  13. if($losa >= 17 && $losa <= 25) {$los[$u] = 0;}
  14.  
  15. $u++;
  16. }
  17.  
  18.  
  19.  
  20. $zapytanie = "INSERT INTO `mapa` (`z`, `1`, `2`, `3`, `4` , `5`, `6`, `7`, `8`, `9` , `10`, `11`, `12`, `13`, `14` , `15`, `16`, `17`, `18`, `19` , `20`, `21`, `22`, `23`, `24` , `25`) VALUES ($z, $los[1], $los[2], $los[3], $los[4], $los[5], $los[6], $los[7], $los[8], $los[9], $los[10], $los[11], $los[12], $los[13], $los[14], $los[15], $los[16], $los[17], $los[18], $los[19], $los[20], $los[21], $los[22], $los[23], $los[24], $los[25])";
  21. $idzapytania = mysql_query($zapytanie);
  22.  
  23. ?>

nospor
Podałem ci linka do pewnego tematu. Zajrzyj tam, zastosuj, wróć z listą błędów.
kamil-s
Wszystko już działa, mój błąd. Wielkie dzięki. Z linkiem się zapoznałem.
Wklejam kod jakby ktoś inny go do czegoś potrzebował.
  1. <?
  2. //wczesniej jest polaczenie z baza danych.
  3.  
  4. $u=1;
  5. while($u <= 25){
  6. $losa = rand(1,25);
  7. if($losa == 1) $los[$u]=6;
  8. if($losa == 2) $los[$u]=8;
  9. if($losa >= 3 && $losa <= 4) $los[$u] = 9;
  10. if($losa >= 5 && $losa <= 8) $los[$u] = 7;
  11. if($losa >= 7 && $losa <= 16) $los[$u] = 5;
  12. if($losa >= 17 && $losa <= 25) $los[$u] = 0;
  13. $u++;
  14. }
  15.  
  16. $z=1;
  17. $zapytanie = "INSERT INTO `mapa` (`z`, `1`, `2`, `3`, `4` , `5`, `6`, `7`, `8`, `9` , `10`, `11`, `12`, `13`, `14` , `15`, `16`, `17`, `18`, `19` , `20`, `21`, `22`, `23`, `24` , `25`) VALUES ($z, $los[1], $los[2], $los[3], $los[4], $los[5], $los[6], $los[7], $los[8], $los[9], $los[10], $los[11], $los[12], $los[13], $los[14], $los[15], $los[16], $los[17], $los[18], $los[19], $los[20], $los[21], $los[22], $los[23], $los[24], $los[25])";
  18. $idzapytania = mysql_query($zapytanie);
  19. ?>
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.