zle sie skopiowalo, niestety z ’ rowniez wiersz sie nie apdtejtuje…
wstawianie zamiast zmiennej $_POST[‘druzyna’] rowniez nie pomaga, a przypominam, ze jak na sztywno wstawie nazwe wiersza to dziala, wiec problem jest ewidentnie tu.
Czy nazwy pół tabeli w MySQL są na pewno takie jak podałeś?
EDIT: dopisałem:
Czy nazwy pól formularza ($_POST) są na pewno takie jak podałeś? Coś z tym ‘druzyna’ mam podejrzenia, że się mogłeś walnąć w nazwie?
Stosuj dodatkowe “ciapki” w poleceniach MySQL - to bezpieczniejsze jest:
$sql = "UPDATE teams SET kapitan = ‘$kapitan’ WHERE nazwa=’$login’ ";
Czy na pewno $conn jest zmienną globalną (widoczną/dostępną w miejscu wywołania)? Usuń ją z mysql_query()) na wszelki wypadek. 5. Stosujesz dziwne sprawdzanie poprawności zapytań, krócej i prościej byłoby tak:
mysql_query($sql) or die('Could not update data: ’ . mysql_error());
tak dokladnie sa takie same, inaczej by na sztywno zamiast zmiennej nie wstawialy sie
mimo to nie dziala…
tak jest zmienna globalna, tylko dlaczego takie pytanie, skoro nie zwraca bledu i poprawnie sie laczy?
4.poprawione
mimo wszystko nadal nie wyrzuca bledu, gladko przechodzi do ‘Updated data successfully’…
Czy nazwy pól formularza ($_POST) są na pewno takie jak podałeś? Coś z tym ‘druzyna’ mam podejrzenia, że się mogłeś walnąć w nazwie?
sa poprawne, tak to echo normalnie by je zle wyswietlalo, a wyswietla dobrze…
niewiem na ile to moze byc przeszkoda, jesli to $_POST jest brane z poprzedniego formularza, ale to nie ma znaczenia przeciez zapisuje sie w zmiennej i echo dobrze wyswietla…
Z Twojej uwagi na początku wątku wynika, że coś źle odbierasz zmienną $login jako pole formularza POST. Wyświetl tę wartość na początku skryptu, może są w niej jakieś niedozwolone znaki?
Dokładnie jak mówisz, szukałem w zmiennej $login problemów, aczkolwiek wyświetlam ją na początku skryptu i jest prawidłowo wczytywana (zarówno z polskimi znakami, znakami specjalnymi i normalnymi).
Nie ruszam nic więcej z zmienną po tym jak przypisuje ją do pola druzyna…
Przy zapisie danych do bazy warto każde pole (pobrane z formularza) przepuścić przez funkcję mysql_real_escape_string(), ale to nie przez to masz problem.
– Dodane 18.07.2013 (Cz) 0:16 –
Czy dobrze rozumiem? Jak podasz
$login = 'jakas_druzyna';
to się do bazy poprawnie zapisuje, a jak to samo w formularzu, to już nie?
moim zdaniem jest to problem tego, ze $_POST[‘druzyna’] jest pobierane ze wczesniejszego formularza, ale w takim razie dlaczego dobrze czyta ja przez echo, a przy SQL juz nie…