Nie musisz uciekać przed znakiem dolara. MySQL nie traktuje tego znaku specjalnie, a PHP rozpoznaje go tylko w kodzie źródłowym, a nie w wartościach łańcuchowych (chyba że wywołasz eval
na sznurku, ale to zupełnie inna puszka robaków).
Musisz tylko uciec z %
i _
jeśli użyłeś danych wejściowych użytkownika jako argumentu LIKE
i nie chciałeś, aby użytkownik mógł używać symboli wieloznacznych. Może się to pojawić, jeśli przetwarzasz formularz wyszukiwania. Nie musisz go używać podczas przechowywania w bazie danych.
Nie musisz używać htmlspecialchars
podczas uzyskiwania dostępu do bazy danych. Powinno to być używane tylko wtedy, gdy wyświetlasz dane użytkownikowi na stronie HTML, aby zapobiec wstrzykiwaniu XSS.