htmlentities() är onödigt för att göra data säkra för SQL. Den används vid eko av datavärden till HTML-utdata för att undvika XSS-sårbarheter. Det är också en viktig säkerhetsfråga som du måste vara uppmärksam på, men den är inte relaterad till SQL.
addslashes() är redundant med mysql_real_escape_string. Du kommer att få bokstavliga snedstreck i dina strängar i databasen.
Använd inte magiska citat. Den här funktionen har blivit utfasad i många år. Distribuera inte PHP-kod till en miljö där magiska citat är aktiverat. Om det är aktiverat, stäng av det. Om det är en värdmiljö och de inte kommer att stänga av magiska citat, skaffa en ny värdleverantör.
Använd inte ext/mysql
. Det stöder inte frågeparametrar, transaktioner eller OO-användning.
Uppdatering:ext/mysql
fasades ut i PHP 5.5.0 (2013-06-20) och togs bort i PHP 7.0.0 (2015-12-03). Du kan verkligen inte använda det.
Använd PDO , och gör dina frågor säkrare genom att använda förberedda frågor .
För mer information om att skriva säker SQL, läs min presentation SQL Injection Myths and Misstag .