Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wstawianie wartości do komórki istniejącego wiersza
Forum PHP.pl > Forum > Przedszkole
polarkreis
Witam, na początku zaznaczę, że przeszukałem już chyba całe Google i nie byłem w stanie odnaleźć odpowiedzi na moje pytanie. Pisanie nowego posta jest dla mnie ostatecznością, jednak nie mam wyboru.

Otóż mój problem wygląda następująco:

W swojej bazie danych posiadam tabelę o nazwie "days". Tabela ta składa się z następujących kolumn (przykład):

[day] [1] [2] [3]

Wyobraźmy sobię iż posiadam w niej wiersz, posiadający następujące wartości (kolejno):

[17092010] [0] [0] [0]

Liczbę 17092010 przechowuję w zmiennej
  1. $d
.

Teraz (przykład): chcę wstawić do tego własnie wiersza, do kolumny, której nazwę pobieram ze zmiennej
  1. $col
wartość zmiennej
  1. $id
.

Piszę więc następujący kod:

  1. $d = 17092010;
  2. $col = 2;
  3. $id = 1;
  4.  
  5. $query = "INSERT INTO days ('$col') VALUES ('$id') WHERE day='$d';
  6. mysql_query($query);


Jednak nic się w bazie nie dzieje.
Na 100% jestem połączony, na 100% baza jest wybrana odpowiednio.

Więc... Co robię źle?
sadistic_son
Po pierwsze w zapytaniu które zaprezentowałeś masz błąd. Brak cudzysłowu na końcu.
Po drugie zapewne zarówno $d jak i kolumna day są typu int, więc umieszczasz je w sql bez ' na końcu, po znaku równości, czyli po prostu day = $d.
Po trzecie INSERT INTO służy do dodawania do bazy nowych wierszy. Jeśli chcesz edytować istniejący już wiersz, użyj UPDATE.
Tak by to wyglądało jeśli kolumny $col oraz day są typu int. Jeśli to stringi (co w przypadku id jest bez sensu) pododawaj '.
  1. $query = "UPDATE days SET ".$col." = ".$id." WHERE day = ".$d;
polarkreis
Bardzo dziękuję za poważne potraktowanie i trafne rozwiązanie!
Teraz wszystko działa jak należy smile.gif
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.