Mam pewien, pewnie banalny problem. Ale męczę się już trochę i na prawdę nie rozumiem dlaczego to nie działa.
Zacznijmy może od tego że mam taką tabelkę w bazie danych:
CREATE TABLE `charactersOnline` ( `accountID` int(10) UNSIGNED NOT NULL, `characterID` int(10) UNSIGNED NOT NULL, `time` int(10) UNSIGNED DEFAULT NULL, `x` tinyint(3) UNSIGNED DEFAULT NULL, `y` tinyint(3) UNSIGNED DEFAULT NULL, `z` tinyint(3) UNSIGNED NOT NULL, `district` char(6) COLLATE utf8_unicode_ci NOT NULL, `hp` smallint(5) UNSIGNED DEFAULT NULL, `maxHP` smallint(5) UNSIGNED NOT NULL, `mp` smallint(5) UNSIGNED DEFAULT NULL, `maxMP` smallint(5) UNSIGNED NOT NULL, `attack` smallint(5) UNSIGNED NOT NULL, `defence` smallint(5) UNSIGNED NOT NULL, `mTowards` SET('0','1','2','3') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', PRIMARY KEY (`accountID`), UNIQUE KEY `UNIQUE` (`characterID`) ) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
I wykonuję na tej tabelce takie zapytanie:
'UPDATE `charactersOnline` SET `time`="'.time().'", `x`="'.$tmpx.'", `y`="'.$tmpy.'", `z`="'.$c[3].'", `district`="'.$c[4].'", `mTowards`="'.$towards.'" WHERE `characterID`="'.$_GET['cid'].'" LIMIT 1'
I teraz moje pytanie jest takie:
Dlaczego tylko kolumna o nazwie `mTowards` nie chce się aktualizować, tylko ta ponieważ wszystkie inne się zmieniają. Dodawałem nawet za kolumną `mTowards` inną i w niej następowała zmiana.
Uprzedzę kilka pytań:
Próbowałem na sztywno ustawić dane, bez skutku.
Zmienna $towards na pewno ma wartość, taką jak trzeba.
Zmieniałem także typ danych tej kolumny, na TINYINT, bez skutku.
W tym momencie nawet wartość Domyślna, którą jest '0' nie jest wpisywana w tą kolumnę.
No i ostatnia kwestia, z poziomu phpmyadmin czy też MySQL Workbench, mogę wprowadzić zmianę w tej kolumnie.
Wie ktoś może co jest nie tak
