Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] problem z dodaniem rekordów
marcinkooter
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.11.2010

Ostrzeżenie: (0%)
-----


Witam,

mam takie małe zadanie na zaliczenie i nie bardzo wiem gdzie zrobilem blad.

mianowicie, zrobilem stronke internetowa z baza danych. wszystko mi smigalo.
ale gdy przenioslem na inny serwer tazze strone przy próbie dodania rekordów do bazy danych wywala mi blad

formularz.php:


  1.  
  2. <form action="odbieramy.php" method="post"
  3. enctype="multipart/form-data">
  4.  
  5. <big><b>DANE OSOBOWE</b></big>
  6. <BR><br>
  7. <b>* Login:</b><br>
  8. <input type="text" name="nazwa" /><br />
  9.  
  10. <b>* Wiek:</b><br>
  11. <input type="int" name="wiek" /><br />
  12.  
  13. <b>* Miasto:</b><br>
  14. <input type="text" name="miasto"/><br /><br />
  15.  
  16. <b>* Dzielnica:</b><br>
  17. <input type="text" name="dzielnica" /><br /><br />
  18.  
  19. <b>O mnie:</b><br>
  20. <textarea name="o_mnie" cols="40" rows="5">
  21. Napisz parę słów o sobie
  22.  
  23. <b>Umiejętności:</b><br>
  24. <textarea name="skills" cols="40" rows="5">
  25. Umiejętności (np. znajomość języków, prawo jazdy, ukończone kursy):
  26.  
  27. <b>* Numer telefonu:</b><br>
  28. <input type="text" name="telefon" /><br />
  29.  
  30. <b>* Adres e-mail:</b><br>
  31. <input type="int" name="mail" /><br /><br />
  32.  
  33.  
  34. <textarea name="doswiadczenie" cols="40" rows="5">
  35. Opisz swoje doświadczenie
  36.  
  37.  
  38. <b>Od kiedy możesz zacząć:</b><br />
  39. <input type="text" name="od_kiedy" /><br /><br />
  40.  
  41. <b>Kiedy jesteś dyspozycyjna:</b><br />
  42. <input type="text" name="dyspo" /><br /><br />
  43.  
  44. <b>Minimalna stawka godzinowa:</b><br />
  45. <input type="text" name="wynagrodzenie" /><br /><br />
  46.  
  47. <br><br>
  48.  
  49.  
  50. <input type="submit" value="dodaj" /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  51. </form>
  52.  
  53.  



odbieramy.php

  1.  
  2.  
  3.  
  4.  
  5. // odbieramy dane z formularza
  6. $iddane_z_tabeli = $_POST['iddane_z_tabeli'];
  7. $nazwa = $_POST['nazwa'];
  8. $wiek = $_POST['wiek'];
  9. $miasto = $_POST['miasto'];
  10. $dzielnica = $_POST['dzielnica'];
  11. $o_mnie = $_POST['o_mnie'];
  12. $skills = $_POST['skills'];
  13. $przedmiot = $_POST['przedmiot'];
  14. $doswiadczenie = $_POST['doswiadczenie'];
  15. $od_kiedy = $_POST['od_kiedy'];
  16. $dyspo = $_POST['dyspo'];
  17. $wynagrodzenie = $_POST['wynagrodzenie'];
  18. $telefon = $_POST['telefon'];
  19. $mail = $_POST['mail'];
  20.  
  21.  
  22.  
  23.  
  24.  
  25. if($nazwa ) {
  26.  
  27.  
  28. mysql_connect("mysql.cba.pl", "pracadorywcza", "****")or die("Nie można nawi?zać poł?czenia z baz?");
  29. mysql_select_db("pracadorywcza_cba_pl")or die("Wyst?pił bł?d podczas wybierania bazy danych");
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. $ins = @mysql_query("INSERT INTO 1 SET
  37. nazwa='$nazwa',
  38. wiek='$wiek',
  39. miasto='$miasto',
  40. dzielnica='$dzielnica',
  41. o_mnie='$o_mnie',
  42. skills='$skills',
  43. przedmiot='$przedmiot',
  44. doswiadczenie='$doswiadczenie',
  45. od_kiedy='$od_kiedy',
  46. dyspo='$dyspo',
  47. wynagrodzenie='$wynagrodzenie',
  48. telefon='$telefon',
  49. mail='$mail'
  50.  
  51.  
  52. ");
  53.  
  54. if($ins) echo "Profil został dodany";
  55. else echo "Błąd nie udało się dodać nowego rekordu";
  56.  
  57. mysql_close($connection);
  58. }
  59.  
  60. ?>
  61.  
  62.  
  63.  



a to moja tabela
  1. CREATE TABLE `1`
  2. ( `iddane_z_tabeli` int(20) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(30) collate utf8_unicode_ci NOT NULL,
  4. `wiek` int(20) NOT NULL,
  5. `miasto` varchar(40) collate utf8_unicode_ci NOT NULL,
  6. `dzielnica` varchar(40) collate utf8_unicode_ci NOT NULL,
  7. `o_mnie` longtext collate utf8_unicode_ci NOT NULL,
  8. `skills` longtext collate utf8_unicode_ci NOT NULL,
  9. `przedmiot` varchar(30) collate utf8_unicode_ci NOT NULL,
  10. `doswiadczenie` longtext collate utf8_unicode_ci NOT NULL,
  11. `od_kiedy` varchar(20) collate utf8_unicode_ci NOT NULL,
  12. `dyspo` varchar(20) collate utf8_unicode_ci NOT NULL,
  13. `wynagrodzenie` varchar(20) collate utf8_unicode_ci NOT NULL,
  14. `telefon` varchar(20) collate utf8_unicode_ci NOT NULL,
  15. `mail` varchar(40) collate utf8_unicode_ci NOT NULL,
  16. `profil` varchar(40) collate utf8_unicode_ci NOT NULL DEFAULT 'Zobacz pr[...]
Go to the top of the page
+Quote Post
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Podstawowe pytanie zanim ktokolwiek zabierze się za pomoc Tobie... JAKI BŁĄD ?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
marcinkooter
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.11.2010

Ostrzeżenie: (0%)
-----


przy próbie wysłania formularza pojawia się komunikat z 55tej linii pliku odbieramy.php

"Błąd nie udało się dodać nowego rekordu";

Tutaj jest adres formularza:
http://pracadorywcza.cba.pl/profil.php

(proszę nie śmiać się ze stanu wizualnego stronki tongue.gif to zostawiłem sobie na deser)

Ten post edytował marcinkooter 23.02.2011, 23:41:27
Go to the top of the page
+Quote Post
kokers
post
Post #4





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

Ostrzeżenie: (0%)
-----


nie wiedziałam że insert into set zadziała rzeczywiście gdzies/kiedyś. czytałam o tym, ale nie widziałam...

polecam http://www.w3schools.com/sql/sql_insert.asp


--------------------
‎"Sometimes you're gonna get odd error syntax, unexpected T_PAAMAYIM_NEKUDOTAYIM and you're like, what in the world is that thing i have no idea what went wrong in my code. In english that error means you screwed up the references to an object" Kevin Skoglund
Drobna prywata: Ależ nie nie, nie zamierzam zmieniać płci w najbliższym czasie, więc zwracanie się do mnie per Pan jest odrobinkę nietrafione.
Go to the top of the page
+Quote Post
marcinkooter
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.11.2010

Ostrzeżenie: (0%)
-----


Sprawdzałem już wedle tego linka i dalej mi wywala błąd. bez apostrofów też próbowałem smile.gif
  1.  
  2. $ins = @mysql_query("INSERT INTO 1
  3. VALUES
  4. ('$nazwa', '$wiek', '$miasto', '$dzielnica', '$o_mnie', '$skills', '$doswiadczenie', '$od_kiedy', '$dyspo', '$wynagrodzenie', '$telefon', '$mail' )
  5. ");
  6.  
Go to the top of the page
+Quote Post
kokers
post
Post #6





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

Ostrzeżenie: (0%)
-----


tylko że twoja tabela ma ponad 15 kolumn + wszystko nie mogą być puste bez wartości domyślnych. tym bardziej jak jeszcze nie podajesz jak niżesz

  1. INSERT INTO (nazwa kolumny, nazwa kolumny....) VALUES (wartość, wartość,....)


tylko podajesz same wartości to tym bardziej musi być tyle wartości ile jest kolumn (nie licząc ewentualni id z auto_increment)

http://www.php.net/manual/en/function.mysql-query.php

masz tam przykład jak wywołać mysql_query i wyświetlić błąd jak się nie powiedzie zamiast nic nie mówiącego komunikatu "nie powiodło się". będziesz miał ten błąd będziemy wiedziec więcej.



ps. apostrofy powinny byc zawsze jeśli nie są liczbami.


--------------------
‎"Sometimes you're gonna get odd error syntax, unexpected T_PAAMAYIM_NEKUDOTAYIM and you're like, what in the world is that thing i have no idea what went wrong in my code. In english that error means you screwed up the references to an object" Kevin Skoglund
Drobna prywata: Ależ nie nie, nie zamierzam zmieniać płci w najbliższym czasie, więc zwracanie się do mnie per Pan jest odrobinkę nietrafione.
Go to the top of the page
+Quote Post
_Borys_
post
Post #7





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


Zmień nazwę tabeli na zaczynającą się od litery a nie cyfry. U mnie to pomogło.

Ten post edytował _Borys_ 24.02.2011, 00:32:36
Go to the top of the page
+Quote Post
Valdi_B
post
Post #8





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W reakcji na błąd operacji na bazie danych warto jeszcze wydrukować treść kwerendy.
Druga sprawa: Skoro pola w tabeli masz z atrybutem NOT NULL, to sprawdzaj czy z formularza dostałeś jakąś treść.
Co prawda baza przyjmie jako wartość pola pusty string, ale czy to jest to o co Ci chodzi?

Ten post edytował Valdi_B 24.02.2011, 08:50:23
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 00:57