Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + mysql] problem z dodawaniem rekordów do bazy MySQL
Forum PHP.pl > Forum > Przedszkole
kononowicz
witam.

Mam wielki problem: nie jestem mistrzem pehapa wiec proszę o pomoc.
Napisałem skrypt na dodawanie rekordów do bazy towarów (tabelki tworzone w phpmyadmin są raczej poprawne...):

  1. <html>
  2. <head>
  3. <title>baza mysql - rafal - dodanie towaru do bazy</title>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  5. </head>
  6. <body>
  7.  
  8. <form action="dodaj_towar.php" method="get">
  9. towar<input type="text" name="TOWARY" /><br />
  10. kod <input type="text" name="KOD" /><br />
  11. cena <input type="text" name="CENA" /><br />
  12. <select name="ID_DZIALY">
  13. <option value="1">1
  14. <option value="2">2
  15. <option value="3">3
  16. <option value="4">4
  17. <option value="5">5
  18. <option value="6">6
  19. </select>
  20. <input type="submit" name="send" value="dodaj">
  21. <input type="reset" value="wyczyść">
  22. </SELECT>
  23. </form>
  24. <?php
  25. // odbieramy dane z formularza
  26.  
  27. if(isset($_GET['TOWARY']))
  28. {
  29. // odbieramy dane z formularza
  30. $TOWARY = $_GET['TOWARY'];
  31. $ID_DZIAL = $_GET['ID_DZIALY'];
  32. $KOD = $_GET['KOD'];
  33. $CENA = $_GET['CENA'];
  34. // łączymy się z bazą danych
  35. // nawiazujemy polaczenie
  36. $connection = @mysql_connect('localhost', '******', '*******')
  37. // w przypadku niepowodznie wyświetlamy komunikat
  38. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  39. // połączenie nawiązane;-)
  40. echo "Udało się połączyć z serwerem!<br />";
  41. // nawiązujemy połączenie z bazą danych
  42. $db = @mysql_select_db('rafkaz', $connection)
  43. // w przypadku niepowodzenia wyświetlamy komunikat
  44. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  45. // połączenie nawiązane;-)
  46. echo "Udało się połączyć z bazą dancych!";
  47.  
  48. // dodajemy rekord do bazy
  49. $ins = @mysql_query("INSERT INTO `towary` ( `ID` , `TOWARY` , `ID_DZIALY` , `KOD` , `CENA` )
  50. VALUES (NULL, `$TOWARY` , `$ID_DZIALY` , `$KOD` , `$CENA`);
  51. ");
  52.  
  53. if($ins) echo "<br>Towar został dodany poprawnie";
  54. else echo "<br>Nie dodano nowego towaru <br> skontaktuj sie z administratorem strony www <br>";
  55.  
  56. mysql_close($connection);
  57.  
  58. }
  59. ?>
  60. </body>
  61. </html>


skrypt wyświetla mi:

Udało się połączyć z serwerem!
Udało się połączyć z bazą dancych!
Nie dodano nowego towaru
skontaktuj sie z administratorem strony www

ps. napisałem podobny skrypt dla innej tabeli z dwiema kolumnami: id i dzialy ... i działa. a dla wiekszej ilosc i kolumn nie ... bardzo prosze o pomoc albo ewentualne poprawienie kodu
dr_bonzo
Prosze uzyc bbCode do umieszczania kodu.
kononowicz
Cytat(UDAT @ 13.11.2006, 08:38:10 ) *



jak dla mnie wyświetla komunikat o błędzie tongue.gif hmmm czy to podchwytliwe pytanie... jeżeli widzicie jakiś błąd to proszę o pomoc...
mike
~kononowicz skoro Ci daje komunikat o błędzie to się nim pochwal tongue.gif
Będzie łatwiej znaleźć błąd.

-----------
Do wstawiania kody php służy znacznik [ php ] Popraw proszę.
kononowicz
Cytat(mike_mech @ 13.11.2006, 08:56:51 ) *
~kononowicz skoro Ci daje komunikat o błędzie to się nim pochwal tongue.gif
Będzie łatwiej znaleźć błąd.

-----------
Do wstawiania kody php służy znacznik [ php ] Popraw proszę.



zamienione na [ php ] ... a skrypt wyświetla tylko to co podałem pod kodem w pierwszym poście... właśnie najgorsze jest to ,że nie wyświetla błędu a mino to skrypt nie dodaje rekordów sad.gif

może to pomoże - screen z phpmyadmina:
mike
Dopisz mysql_error() po wykonaniu zapytania.
Będziesz miał informację to szczegółach tego że się ono nie powiodło.
kononowicz
  1. <?php
  2. else echo "<br>Nie dodano nowego towaru <br> skontaktuj sie z administratorem strony www <br />Błąd: '.mysql_error()'.";
  3. ?>


... wyświetla mi błąd

Parse error: parse error in ******************************* on line 41

więc zła składnia...
mike
Przede wszystkim to widać, że totalnie bezmyślnie używasz @.
Wiesz w ogóle do czego to służy?

Po drugie masz podstawowe braki w zakresie operowania na stringach.
  1. <?php
  2.  
  3. // ...
  4. else echo '<br>Nie dodano nowego towaru <br> skontaktuj sie z administratorem strony www <br />Błąd: ' . mysql_error();
  5. // ...
  6.  
  7. ?>
kononowicz
Cytat(mike_mech @ 13.11.2006, 10:50:32 ) *
Przede wszystkim to widać, że totalnie bezmyślnie używasz @.
Wiesz w ogóle do czego to służy?

Po drugie masz podstawowe braki w zakresie operowania na stringach.
  1. <?php
  2.  
  3. // ...
  4. else echo '<br>Nie dodano nowego towaru <br> skontaktuj sie z administratorem strony www <br />Błąd: ' . mysql_error();
  5. // ...
  6.  
  7. ?>


poprawię się smile.gif a do czego służy @ questionmark.gif jeśli można się spytać?? szybko poprawiam...
mike
Cytat(kononowicz @ 13.11.2006, 10:55:23 ) *
a do czego służy @ questionmark.gif jeśli można się spytać??

Nie można tongue.gif
Za to można samemu manuala poczytać: Operatory Kontroli Błędów
A jak już przeczytasz to będziesz wiedział, że korzystanie z @ w chwili kiedy szukasz co Ci błędnie działa jest co najmniej nierozsądne tongue.gif
kononowicz
Cytat(mike_mech @ 13.11.2006, 11:00:08 ) *
Nie można tongue.gif
Za to można samemu manuala poczytać: Operatory Kontroli Błędów
A jak już przeczytasz to będziesz wiedział, że korzystanie z @ w chwili kiedy szukasz co Ci błędnie działa jest co najmniej nierozsądne tongue.gif



dzięki, faktycznie biggrin.gif juz czytam z ciekawością ... i jak uda mi się wyświetlić błąd to wkleje go i mam nadzieje ,że uda sie poprawić skrypt...



Udało się połączyć z serwerem!
Udało się połączyć z bazą dancych!
Nie dodano nowego towaru
skontaktuj sie z administratorem strony www Unknown column 1054 'rer' in 'field list'


oto co wyświetla mysql_errno(); i mysql_error(); po wpisaniu do formularza jako towar: rer

w pozostałe pola formularza wpisałem tez przypadkowe dane jednak o te dane się nie pluje...

co to znaczy questionmark.gif help exclamation.gif!
nospor
o rety.... czytam ten topic i takiej sieczki to juz dawno nie widzialem...

wartosci pol tekstowych nie mozna brac w `, wartosci pol tekstowych trzeba brac w '. (nie mylic z nazwami pol).

z innych popierdulek to:
pobierasz zmienna: $ID_DZIAL = $_GET['ID_DZIALY'];
a potem sie odwolujesz do: $ID_DZIALY

ps: przenosze na jedyne sluszne miejsce
kononowicz
o ile się nie mylę po to istnieje forum aby np. pomagać i udzielać odpowiedzi... na razie jakoś idzie do przodu smile.gif ... jeżeli ktoś ma jakieś sugestie to proszę pisać



działaaa exclamation.gif!! dzięki wielkie exclamation.gif! biggrin.gif:D:D
nospor
Cytat
o ile się nie mylę po to istnieje forum aby np. pomagać i udzielać odpowiedzi
ale do czego zmierzasz? Przeciez caly czas tutaj dostajesz odpowiedzi. Ja ci tez udzielilem odpowiedzi co masz źle, wiec jak nie masz nic do powiedzenia to nie pisz bez sensu tongue.gif
Amorph
Jak sam dobrze zauważyłeś:
Cytat
o ile się nie mylę po to istnieje forum aby np. pomagać i udzielać odpowiedzi...

Pomagać i udzielać, a nie robić za Ciebie
Cytat
na razie jakoś idzie do przodu ... jeżeli ktoś ma jakieś sugestie to proszę pis

Zastosowałeś się do uwag, które zasugerował Ci nospor questionmark.gif?
Cytat
wartosci pol tekstowych nie mozna brac w `, wartosci pol tekstowych trzeba brac w '. (nie mylic z nazwami pol).

z innych popierdulek to:
pobierasz zmienna: $ID_DZIAL = $_GET['ID_DZIALY'];
a potem sie odwolujesz do: $ID_DZIALY
kononowicz
Cytat(Amorph @ 13.11.2006, 11:57:46 ) *
Jak sam dobrze zauważyłeś:

Pomagać i udzielać, a nie robić za Ciebie

Zastosowałeś się do uwag, które zasugerował Ci nospor questionmark.gif?



tak tak bardzo dziekuję... właśnie te uwagi zdecydowanie pomogły...
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.