Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z UPDATE :/
Forum PHP.pl > Forum > Bazy danych > MySQL
norkos
Witajcie, mam prosbe. Robilem prosciutka sonde, ale cos mi ciagle nie gra. Nie wiem czemu nie dodaje mi danych do bazy

  1. <?php 
  2. if(isset($_GET[action])){
  3. if($_GET[action]==&#092;"sonda\"){
  4.  
  5. mysql_connect(&#092;"bajera\")or die(mysql_error());
  6. mysql_select_db(&#092;"bajera\");
  7.  
  8. $wynik=$_POST[&#092;"sonda\"];
  9. if($wynik==&#092;"spox\"){
  10. mysql_query(&#092;"UPDATE sonda SET spox = spox+1 WHERE id=1;\"); (tutaj nawet jak bylo bez WHERE albo bez tego ; to i tak nie dzialalo)
  11. }
  12. }}
  13. echo('<form method=\"POST\" action=\"sonda.php?action=sonda\">
  14. <table border=\"1\" width=\"10%\">
  15. <tr>
  16. <td width=\"100%\" align=\"center\">Jak oceniasz <br>
  17. stronkę </tr>
  18. <tr>
  19. <td width=\"100%\" align=\"left\"><input type=\"radio\" value=\"spox\" checked name=\"sonda\">daje rade</td>
  20. </tr>
  21. <tr>
  22. <td width=\"100%\">
  23.  <center><input type=\"submit\" value=\"Glosuj\" name=\"B1\"></center>
  24. </td>
  25. </tr>
  26. </table>
  27. </form>');
  28. mysql_connect(&#092;"bajera\")or die(mysql_error());
  29. mysql_select_db(&#092;"bajera\");
  30. echo('spox');
  31. $result=mysql_query(&#092;"SELECT * FROM sonda;\");
  32. while($row = mysql_fetch_assoc ($result)) {
  33. echo ($row[&#092;"spox\"]);
  34. }
  35.  
  36. ?>


a tabela wyglada tak:
  1. <?php
  2.  
  3. mysql_query(&#092;"CREATE TABLE sonda(
  4. id INT NOT NULL AUTO_INCREMENT, 
  5. PRIMARY KEY(id),
  6. super INT(5),
  7. spox INT (5),
  8. kicz INT(5))&#092;")
  9.  
  10. ?>


nie rozumiem czemu to nie dziala
Prosze o pomoc i dzieki za posty smile.gif
janek
spróbuj bez średnika na końcu zapytań
norkos
niestety to nic nie pomoglo :/
ikioloak
Przy kazdym mysql_query() dodaj:
  1. <?php
  2. ?>

i napisz co wyskoczy
norkos
moze to zabrzmi dziwnie ale nic :/

dziwna sonda
nospor
tylko że ty robisz update gdy wcisnieto radio spox, a w sondzie do której link podales są jeszcze inne radio. Gdy sie te inne readio wcisnie to update sie nie wykona.

Daj se echo 'sadsadasdasdasd'; przed zapytaniem update i zobacz czy ci wogole to wyswietli.
norkos
Cytat(nospor @ 2005-07-28 11:21:09)
tylko że ty robisz update gdy wcisnieto radio spox, a w sondzie do której link podales są jeszcze inne radio.

chcialem poki co tylko dla "spox" zrobic, jesli to pojdzie to analogicznie zrobie dla reszty :/ Ten dziwny napis pojawia sie smile.gif
nospor
jesli zastosowales sie do wszystkich tutaj wskazówek (echo, mysql_error) i wstawiles je tam gdzie trzeba to nie ma bata. Musi chodzić.
Pokaż jeśli łaska caly kod po poprawkach jakie porobiles, gdyż jestem wielce ciekaw jak on teraz wygląda.

A na pewno jest rekord o id = 1?
norkos
jestem amatorem, to moze gdzies sie pomylilem w tym wswtawianiu. Oto caly kod

  1. <?php 
  2.  
  3. if(isset($_GET[action])){
  4. if($_GET[action]==&#092;"sonda\"){
  5.  
  6. mysql_connect(&#092;"bajer\")or die(mysql_error());
  7. mysql_select_db(&#092;"bajer\")or die(mysql_error());
  8.  
  9. $wynik=$_POST[&#092;"sonda\"];
  10.  
  11. if($wynik==&#092;"spox\"){
  12. echo 'sadsadasdasdasd';
  13. mysql_query(&#092;"UPDATE sonda SET spox = spox+1 WHERE id=1\")or die(mysql_error());
  14.  
  15. }
  16. }}
  17.  
  18. echo('<form method=\"POST\" action=\"sonda.php?action=sonda\">
  19. <table border=\"1\" width=\"10%\">
  20.   <tr>
  21.     <td width=\"100%\" align=\"center\">Jak oceniasz <br>
  22.       stronkę  </tr>
  23.   <tr>
  24.     <td width=\"100%\" align=\"left\"><input type=\"radio\" value=\"super\" checked name=\"sonda\">fajniutka</td>
  25.   </tr>
  26.   <tr>
  27.     <td width=\"100%\" align=\"left\"><input type=\"radio\" value=\"spox\" checked name=\"sonda\">daje rade</td>
  28.   </tr>
  29.   <tr>
  30.     <td width=\"100%\" align=\"left\"><input type=\"radio\" value=\"kicz\" checked name=\"sonda\">kicz</td>
  31.   </tr>
  32.    <tr>
  33.     <td width=\"100%\">
  34.                    <center><input type=\"submit\" value=\"Glosuj\" name=\"B1\"></center>
  35.         </td>
  36.   </tr>
  37. </table>
  38. </form><br>');
  39.  
  40. mysql_connect(&#092;"bajer\")or die(mysql_error());
  41. mysql_select_db(&#092;"bajer\")or die(mysql_error());
  42.  
  43. echo('spox');
  44. $result=mysql_query(&#092;"SELECT * FROM sonda;\")or die(mysql_error());
  45. while($row = mysql_fetch_assoc ($result))  {
  46. echo ($row[&#092;"spox\"]);
  47. }
  48.  
  49. ?>


W tej gdzie jest update probowalem roznie kombinacje:
mysql_query("UPDATE sonda SET spox = spox+1 WHERE id=1;")
mysql_query("UPDATE sonda SET spox = 'spox+1' WHERE id=1;")
mysql_query("UPDATE sonda SET spox = spox+1 WHERE id=1")
mysql_query("UPDATE sonda SET spox = spox+1")

i za kazdym razem nic. Moglby mi przynajmniej wyswietlac ten blad, ze nie moze dodac albo cos :/ Odnosnie tego ze id=1 to mysle ze instnieje, dalem zeby bylko id i autonumerowanie
  1. <?php
  2.  
  3. mysql_query(&#092;"CREATE TABLE sonda(
  4. id INT NOT NULL AUTO_INCREMENT, 
  5. PRIMARY KEY(id),
  6. super INT(5),
  7. spox INT (5),
  8. kicz INT(5))&#092;")
  9.  
  10. ?>


jakas paranoja
nospor
A więc, skoro wyswietla ci się moje dziwne echo oraz die(mysql_error) nie zwróciło żadnych errorów oraz istnieje rekord o id=1 to powiedz mi, czy wartość pola spox ustwiona jest w tej chwili na NULL. Bo tylko w takiej sytuacji Twój update nie spowoduje żadnych zmian jednocześnie nie wyrzucając żadnych błędów.
Tak więc jeśli Ta wartośc jest teraz NULL to zamień ją na 0, a będzie już wszysko śmigać.

Jeśli nie jest null, to ja wymiękam.

Masz to jak sprawdzić? Jak nie masz to poprostu napisz zapytanie i wyswietls za pomocą skryptu.
norkos
Cytat(nospor @ 2005-07-29 06:40:23)
Tak więc jeśli Ta wartośc jest teraz NULL to zamień ją na 0, a będzie już wszysko śmigać.

masz racje, bylo na NULL, to teraz dalem na 0 i tez nie dziala :/ Podlacze sie do Ciebie w jakims komunikatorze. Dzieki za checi
nospor
Problem rozwiązany. Wiecie dlaczego nie robił updata? Bo w tabeli nic nie było. Jak można zrobić update na czymś, czego nie ma.
ledwo się powstrzymuje od komentarzy.

edit:
dodałem ci jeden rekord, teraz sprawdź czy działa biggrin.gif
norkos
Cytat(nospor @ 2005-07-29 13:53:20)
Problem rozwiązany. Wiecie dlaczego nie robił updata? Bo w tabeli nic nie było. Jak można zrobić update na czymś, czego nie ma.
ledwo się powstrzymuje od komentarzy.

ladna lajza ze mnie biggrin.gif
Dziekuje za pomoc
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-2024 Invision Power Services, Inc.