Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]MySQL update
masterhunter
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Witam.
Mam taki kod:

Formularz:
  1. <form method="POST" action="edycja_dodaj.php">
  2. <div>
  3. <b>Edycja danych personalnych:</b><br><br>
  4. <p style="margin: 0px; width: 200px; float: left;">Nick: </p><input type="text" size="10" name="imie" value="<?echo "$imie" ?>"><br>
  5. </div>
  6. <input type="submit" value="Uaktualnij">
  7. </form>


edycja_dodaj.php
  1. <?php
  2. include "config.php";
  3. ?>
  4. <html>
  5. <head>
  6. <meta http-equiv="refresh" content="5; url=index.php">
  7. </head>
  8. <body>
  9. <?php
  10. $imie = $_POST['imie'];
  11.  
  12. $zapytanie = "UPDATE `user` SET(`imie` = '$imie')";
  13. $wykonaj = "mysql_query('$zapytanie')";
  14.  
  15. <center>Twoje dane personalne zostały zaktualizowane <b>pomyślnie!</b><br>
  16. Za <b>5 sekund</b> zostaniesz przekierowany na swoj panel pracownika.
  17. </center>
  18. ";
  19. ?>
  20. </body>
  21. </html>


I wszystko by było fajnie tylko dane mi czyta z mysql ale nie można zapisać. Tzn można ale nie do mysql lecz dane wklejają się w ciasteczka i w mysql nic się nie updatuje a w panelu logowania tak...

Co źle robię ?
Proszę o pomoc.



Pozdrawiam.

Ten post edytował masterhunter 25.09.2009, 08:50:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Dam ci prostą odpowiedź.
mysql_query

http://www.google.pl/search?q=mysql+update...lient=firefox-a



--------------------

Go to the top of the page
+Quote Post
masterhunter
post
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Wszystko przeczytałem i nie wiem gdzie robię błąd a gdzieś robię bo
  1. echo mysql_errno($db) . ": " . mysql_error($db) . "\n";

zwraca tylko () więc żadnych błędów nie ma...

Może znacie komendę która pokaże cały przebieg UPDATE do bazy a nie tylko błędy.

Możecie mi pomóc ?

Pozdrawiam.

Ten post edytował masterhunter 25.09.2009, 08:49:23
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli nie ma błędów to możesz tylko sprawdzić ewentualnie czy dodało do bazy. Funkcja mysql_affected_rows pokaże Ci ile razy UPDATE się wykonało. Jeśli 0 to znaczy, że nie doszło do update. Tylko tyle można zrobić. Sprawdź sobie manual tej funkcji by zobaczyć przykłady smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
masterhunter
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Zaktualizowanych rekordów: -1


Nie mam pomysłów.

Zauważyłem ze w cookies wpisują się zaktualizowane dane smile.gif i w panelu wszystko jest git smile.gif ale po wylogowaniu i ponownym zalogowaniu ściąga niezaktualizowane dane z MySQL smile.gif
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Skoro zapis do bazy następuje to masz niewiele możliwości jakie Ci zostają do sprawdzenia:
- skrypt zapisuje dane nie do tablicy w mysql jaką chcesz, ale do jakiejś tablicy tymczasowej w bazie,
- całość dzieje się na transakcji, logowanie - ustawianie punktu, wylogowanie - rollback,
- coś jest nie tak z cache'owaniem stron i winna jest tu przeglądarka.
Najgorsze jest 3, bo nie masz na nie wpływu nawet tagami meta i ustawieniami serwera, co sam przerabiałem. Do tej pory błędu się nie pozbyłem. Mam zdjęcia w panelu usera, jesli skasuję jedno i w jego miejsce wgram drugie to dostaje ono tę samą nazwę. W efekcie przeglądarka nie widzi zmian i nawet ustawienie expires, no-cache w meta oraz nie cache'owanie po stronie serwera stron nic nie daje. Przeglądarka korzysta ze swojego cache i jest kibel.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
flashdev
post
Post #7





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Nie wiem czy takie coś działa:
Cytat
  1. $wykonaj = "mysql_query('$zapytanie')";


Ale po co komplikować, zrób tak:
  1. $wykonaj = mysql_query($zapytanie);


--------------------
Go to the top of the page
+Quote Post
Chrom
post
Post #8





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


a czy nie powinieneś dać jeszcze klauzuli np. WHERE id = '$id'
Go to the top of the page
+Quote Post
masterhunter
post
Post #9





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Poprawiłem ale nic to nie pomogło.

Ten post edytował masterhunter 25.09.2009, 18:05:13
Go to the top of the page
+Quote Post
Robert1985
post
Post #10





Grupa: Zarejestrowani
Postów: 84
Pomógł: 7
Dołączył: 5.08.2009
Skąd: Tychy

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


Z tego co pamiętam to affected rows wyskakiwało mi -1 gdy chciałem dodać do bazy rekord o takim samym kluczu glównym jak już istniejący w bazie. Może pokaż nam jak wygląda twoja baza danych.

Ten post edytował Robert1985 25.09.2009, 18:43:53


--------------------
"Istnieją dwa sposoby projektowania oprogramowania. Można napisać je tak prosto, że w oczywisty sposób nie będzie w nim niedoskonałości; można też uczynić je tak skomplikowanym ,że nie będzie w nim żadnych oczywistych niedociągnięć.Pierwsza metoda jest znacznie trudniejsza." C.A.R Hoare
Go to the top of the page
+Quote Post
Chrom
post
Post #11





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


  1. mysql_query("UPDATE user SET imie = '$imie' WHERE user_id = '1'");

u mnie zadziałało

Ten post edytował Chrom 26.09.2009, 08:43:28
Go to the top of the page
+Quote Post
masterhunter
post
Post #12





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Nic to nie dało ... sad.gif
Może robię coś źle gdzie indziej. Mógłbyś ściągnąć ten panel i zerknąć w kod ?

Pozdrawiam.

Pomoże ktoś ?

Ten post edytował masterhunter 26.09.2009, 12:08:55
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: 20.08.2025 - 01:08