W MYSQL FAŁSZ
nie jest wartością logiczną, to liczba całkowita, a dokładniej zero. W rzeczywistości MySQL nie ma typów kolumn logicznych (ma BOOL i BOOLEAN ale to tylko aliasy dla TINYINT ). Twoje zapytanie jest więc synonimem:
SELECT * FROM session WHERE token = 0
Od token jest VARCHAR, MySQL musi przekonwertować twoje łańcuchy na liczbę. Uruchom to zapytanie, a zorientujesz się w zasadach:
SELECT
0 + "0001",
0 + "123abc",
0 + "abc123"
W rezultacie fa356333dd3ee8f1b18b8bf0a827e34c rzutuje na 0 ponieważ zaczyna się na literę, więc dopasowanie.