Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Nie dodaje jednego rekordu [problem rozwiązany]
fcs
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


  1. <?php
  2.  
  3. $_GET['idnewsa'] = $idnewsa;
  4. print "$idnewsa";
  5. if ($autor && $tresc) 
  6. {
  7.  
  8. $data = date("d.m.y");
  9. mysql_connect ("*****", "*****", "*****") 
  10. or die ("Nie mozna sie polczyc z MySQL");
  11. mysql_select_db ("*****") 
  12. or die ("Nie można się połczyć z bazą danych");
  13.  
  14. mysql_query ("INSERT INTO komentarze (idnewsa, autor, tresc, data) 
  15. VALUES ('$idnewsa', '$autor', '$tresc', '$data')")
  16. or die ("Blad w zapytaniu"); 
  17. print 'Komentarz zostal dodany'; }
  18.  
  19. ?>



Wg mnie powinno byc wszystko ok a w kolumnie idnewsa zawsze wstawia mi zero mimo, że
  1. <?php
  2. print "$idnewsa";
  3. ?>
Wyswietla mi prawidłową cyfrę.

Kolumna idnewsa jest typu INT(11) , domyslnie NULL

Ten post edytował fcs 1.07.2007, 01:23:11
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Mike122
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

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


~fcs możesz pokazać rzut tabeli komentarze z MySQL.
I nie powinno być
A tu trochę poprawiony skrypt:
  1. <?php
  2. $idnewsa = ($_GET['idnewsa']);
  3. ?>


Ten post edytował Mike122 30.06.2007, 21:53:30
Go to the top of the page
+Quote Post
atomek4
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


A formularz do wpisywania tych newsów jest w tym samym pliku?
Go to the top of the page
+Quote Post
fcs
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


(IMG:http://img291.imageshack.us/img291/7161/tabelaze9.jpg)

Atomek4 tak

  1. <FORM action="komentuj.php" method="POST">
  2. <center><table id="dodajkoment"><tr>
  3. <td>Autor<br><INPUT name="autor" maxlength=50 size=35>
  4. <tr><td>Treść<br><textarea name="tresc" rows="18" cols="35" maxlength=3000></textarea>
  5. <tr><td><INPUT type="submit" value="Wyslij">
  6. </form>


Ten post edytował fcs 30.06.2007, 21:53:41
Go to the top of the page
+Quote Post
fcs
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


I w jednym i w drugim przypadku
  1. <?php
  2. print "$idnewsa";
  3. ?>
wyświetla to samo. Z ciekawości jednak zrobiłem tak jak mówisz i w tabeli nadal zapisuje się jako "0" .
Go to the top of the page
+Quote Post
fcs
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


idnewsa pobierane jest metodą get. Głupio by było w formularzu zaznaczać numer newsa, który się komentuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował fcs 30.06.2007, 22:03:46
Go to the top of the page
+Quote Post
atomek4
post
Post #7





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


Poza tym formularz przesyłasz POSTem. Poza tym nie wystarczy ci jedno pole ID powiększane automatycznie?
Go to the top of the page
+Quote Post
fcs
post
Post #8





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


Cytat(atomek4 @ 30.06.2007, 23:07:46 ) *
Poza tym formularz przesyłasz POSTem. Poza tym nie wystarczy ci jedno pole ID powiększane automatycznie?

Mam jedno pole Auto_increment :]
Wiem ze formularz wysylam postem ale co to ma do rzeczy ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wszystkie pola z formualrza przesyłane są do tabeli poprawnie oprócz idnewsa.
zmienna $idnewsa wyswietlana jest przez echo poprawnie ale gdy wstawiam ją w INSERT INTO to w tabeli zawsze dodawane jest 0 a nie poprawna liczba.
Go to the top of the page
+Quote Post
deirathe
post
Post #9





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


no to rzutuj typ na int
Go to the top of the page
+Quote Post
atomek4
post
Post #10





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


Po prostu zastanawiam się czy tak się da, że część danych podeślesz POSTem a część GETem i to wszystko ci się doda do bazy danych w jednym zapytaniu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

No i może wrzuć po tym zapytaniu:
  1. <?php
  2. echo mysql_errno() . ': ' . mysql_error() . "n";
  3. ?>


Ten post edytował atomek4 30.06.2007, 22:21:08
Go to the top of the page
+Quote Post
fcs
post
Post #11





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


Cytat(deirathe @ 30.06.2007, 23:18:56 ) *
no to rzutuj typ na int

idnewsa od początku jest INT . Dałem screena wyżej.
Go to the top of the page
+Quote Post
atomek4
post
Post #12





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


  1. <?php
  2. $idnewsa= (int) $_GET['idnewsa'];
  3. ?>


Ten post edytował atomek4 30.06.2007, 22:23:12
Go to the top of the page
+Quote Post
deirathe
post
Post #13





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


typ zmiennej a nie typ w mysql, tak jak kolega wyżej pokazał

Ten post edytował deirathe 30.06.2007, 22:24:11
Go to the top of the page
+Quote Post
fcs
post
Post #14





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


Tak również nie działa.
BTW hmm po co rzutować typ zmiennej skoro jeśli znajduje się w niej liczba naturalna, to typ zmiennej automatycznie ustawia się na int ?

Ten post edytował fcs 30.06.2007, 22:27:23
Go to the top of the page
+Quote Post
deirathe
post
Post #15





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


Cytat(fcs @ 30.06.2007, 23:25:26 ) *
a.)Tak również nie działa.
b.)BTW hmm po co rzutować typ zmiennej skoro jeśli znajduje się w niej liczba naturalna, to typ zmiennej automatycznie ustawia się na int ?

AD a.) to pokaż reszte kodu bo nikt tu CI wróżyć z kart nie będzie, możesz ewentualnie jeszcze tak spróbować:
  1. <?php
  2. mysql_query ("INSERT INTO komentarze (idnewsa, autor, tresc, data) 
  3. VALUES (".$idnewsa.", '$autor', '$tresc', '$data')") ...
  4. ?>

AD b.) bo jak odbierasz coś getem to zawsze dobrym zwyczajem jest to sprawdzić
Go to the top of the page
+Quote Post
fcs
post
Post #16





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


MySQL wywala błąd.
-------
Reszta plików mało ma wspólnego z tym kodem co dałem wyżej. Jedyna wspólna rzecz to zmienna $idnewsa przesyłana metodą GET.
Go to the top of the page
+Quote Post
deirathe
post
Post #17





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


A jaki błąd wywala?
Go to the top of the page
+Quote Post
atomek4
post
Post #18





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


Może spróbujemy zgadnąć, wspólnymi siłami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
deirathe
post
Post #19





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


Taaaa... dzwonie do wróżki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i połączę się z jego bazą za pomocą kanału duchowego i czakr- moc nas poprowadzi ;]

@fcs żeby nie było że sobie nabijam posty, człowieku zwróć mysql_error() i napisz co Ci wyświetla czy to taki trudne? I wybacz ale godzina późna to igłupoty się trzymają a jak jeszcze piszesz że wywala błąd i nie napiszesz co dokładnie to naprawdę można Ci pomóc... I jeszcze nie dość że chcę Ci pomóc to tak ładnie mi dziękujesz...

Ten post edytował deirathe 30.06.2007, 23:19:06
Go to the top of the page
+Quote Post
fcs
post
Post #20





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 28.06.2007

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


Wywala mi taki błąd jaki napisałem w intrukcji "die"

Sorry chlopaki ale nabijcie sobie posty gdzie indziej.
Deirathe, z całym szacunkiem ale mam wrażenie, że nabijasz sobie je od samego początku tematu.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 18:19