Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Edycja rekordu
Forum PHP.pl > Forum > Przedszkole
-Pablosz-
Witam!

Próbuję edytować rekord w bazie danych, oto fragment kodu:

  1. if($id==4) /*Modyfikowanie*/
  2. {
  3. if($mid) /* ID rekordu do modyfikacji */
  4. {
  5. $sql=mysql_connect("localhost","root","krasnal") or
  6. die ("Nie można się połączyć z MySQL");
  7. mysql_select_db ("projekt") or /*Baza danych z nazwami tabel poszczególnych projektów*/
  8. die ("Nie można się połączyć z bazą danych");
  9.  
  10. $dane=mysql_query("SELECT * FROM projekty;") or
  11. die ("Błąd zaytania");
  12.  
  13. while($rekord=mysql_fetch_array($dane))
  14. {
  15. if($pid==$rekord[0]) { $nazwa=$rekord[2]; break; } /* Przesyłam zmienną pid, która jest id tabeli, której nazwy szukam */
  16. }
  17. if($uprawnienia>1) /*Jeżeli jestem uprawniony, do dalej */
  18. {
  19. print(" $nazwa $tytul $opis $link $autor $data $typ $mid $pid"); /*Tutaj testowo wypisuje sobie wszystkie zmienne
  20.   mysql_query("UPDATE '$nazwa' SET tytul='$tytul', opis='$opis', link='$link', autor='$autor', data='$data', typ='$typ' WHERE id='$mid';");
  21.   }
  22.   else print("Nie masz uprawnień do wykonania tej operacji.");
  23.  
  24.   mysql_close($sql);
  25.   }
  26. }


Więc po krótce. Mam tabelę projektów projekty, a w niej nazwy tabel dotyczących poszczególnych projektów. Skrypt dostaje pid (id projektu, stąd mam nazwę tabeli), mid (id wpisu do edycji), oraz wszystkie pola (z formularzy). Jak wypisuję te zmienne, wszystko jest idealnie - mam nazwę tabeli, mam odpowiednie ID. Ale jednak nniestety nic się w bazie nie zmienia.

Prosze o pomoc, już prawie cały projekt mi trybi, a z tym nie mogę sobie poradzić ;/ Może potrzeba jakiś dodatkowych informacji? Chętnie przedstawię.

Pozdrawiam
motyl-pl
Strukture bazy daj.
viking
Strzelam. ID będzie integerem, błąd mapowania danych na stringa.
-Pablosz-
Tabela projektu:

id int(11)
tytul text text
opis text
link text
autor text
data datetime
typ int(11)

Tabela nazw projektów:
id int(11)
nazwa text
nazwa_bazy text
uprawnienia int(11)
data datetime
b4rt3kk
Zamknij komentarz. Chyba, że dodany tylko na forum.

  1. mysql_query("UPDATE `$nazwa` SET tytul='$tytul', opis='$opis', link='$link', autor='$autor', data='$data', typ='$typ' WHERE id='$mid';");


Nazwa tabeli powinna być pomiędzy `, a nie zwykłymi apostrofami.
Gość
Super! Dzięki wielkie! smile.gif Komenty dodawałem tylko na forum, nie mogę edytować niestety.

Jeszcze raz dziękuję za pomoc i pozdrawiam!
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.