Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]MySQL update
Forum PHP.pl > Forum > Przedszkole
masterhunter
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.
potreb
Dam ci prostą odpowiedź.
mysql_query

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

masterhunter
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.
thek
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
masterhunter
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
thek
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.
flashdev
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);
Chrom
a czy nie powinieneś dać jeszcze klauzuli np. WHERE id = '$id'
masterhunter
Poprawiłem ale nic to nie pomogło.
Robert1985
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.
Chrom
  1. mysql_query("UPDATE user SET imie = '$imie' WHERE user_id = '1'");

u mnie zadziałało
masterhunter
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ś ?
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.