Łączenie stringów się kłania.
$rezultat=$polaczenie->query("UPDATE uzytkownicy SET avatar='img/avatars/woman.png' WHERE gender='$gender'");
Zmień na:
$rezultat=$polaczenie->query("UPDATE uzytkownicy SET avatar='img/avatars/woman.png' WHERE gender='".$gender."'");
Edit:
W ogóle całe to założenie jest błędne, powinieneś robić to zaraz przy utworzeniu użytkownika czyli:
$gender = $_GET['gender'];
$imie = // ...
$nazwisko = //...
$avatar = ($gender == 'Kobieta' ? 'sciezka_do_avatara_kobiety' : 'sciezka_do_avatara_mezczyzny');
// rejestracja
$rezultat = $polaczanie->query("INSERT INTO `uzytkownicy` (`imie`, `nazwisko`, `plec`, `avatar`) VALUES ('".$imie."', '".$nazwisko."', '".$gender."', '".$avatar."')");
Nie wiem jak nazywają się u ciebie różne kolumny/tabele itp więc musisz to sobie pozmieniać. Pamiętaj, że w SQL tekst podajesz między apostrofami lub cudzysłowami (ja wolę apostrofy), nie możesz o nich zapomnieć. Liczby podajesz normalnie, bez tego. Nazwy kolumn\tabel\baz danych najlepiej zapisuj między tymi kreseczkami, które ma się na tyldzie, jeśli nie wciśnie się SHIFT.