Nemusíte unikat znaku dolaru. MySQL s tímto znakem nezachází speciálně a PHP jej rozpoznává pouze ve zdrojovém kódu, nikoli v hodnotách řetězců (pokud nezavoláte eval
na provázku, ale to je úplně jiná plechovka červů).
Potřebovali byste pouze escapovat %
a _
pokud jste jako argument pro LIKE
použili uživatelský vstup a nechtěli jste, aby uživatel mohl používat zástupné znaky. To se může objevit, když zpracováváte vyhledávací formulář. Při ukládání do databáze jej nemusíte používat.
Nemusíte používat htmlspecialchars
při přístupu do databáze. To by se mělo používat pouze tehdy, když uživateli zobrazujete data na stránce HTML, aby se zabránilo vkládání XSS.