Du behöver inte fly dollartecken. MySQL behandlar inte det tecknet speciellt, och PHP känner bara igen det i källkoden, inte i strängvärden (såvida du inte anropar eval
på snöret, men det är en helt annan burk med maskar).
Du behöver bara escape %
och _
om du använde användarinmatning som argument för att LIKE
och du ville inte att användaren skulle kunna använda jokertecken. Detta kan dyka upp om du bearbetar ett sökformulär. Du behöver inte använda den när du lagrar i databasen.
Du behöver inte använda htmlspecialchars
när du kommer åt databasen. Det bör endast användas när du visar data för användaren på en HTML-sida, för att förhindra XSS-injektion.