htmlentities() není nutné, aby byla data bezpečná pro SQL. Používá se při odesílání hodnot dat do výstupu HTML, aby se předešlo zranitelnosti XSS. To je také důležitý bezpečnostní problém, na který si musíte dát pozor, ale nesouvisí s SQL.
addlashes() je redundantní s mysql_real_escape_string. Skončíte s doslovnými zpětnými lomítky v řetězcích v databázi.
Nepoužívejte kouzelné citáty. Tato funkce je již mnoho let zastaralá. Nenasazujte kód PHP do prostředí, kde jsou povoleny magické uvozovky. Pokud je povoleno, vypněte jej. Pokud se jedná o hostované prostředí a nevypnou magické nabídky, získejte nového poskytovatele hostingu.
Nepoužívejte ext/mysql
. Nepodporuje parametry dotazu, transakce nebo použití OO.
Aktualizace:ext/mysql
byla zastaralá v PHP 5.5.0 (2013-06-20) a odstraněna v PHP 7.0.0 (2015-12-03). Opravdu to nemůžete použít.
Použijte CHOP a zabezpečte své dotazy pomocí připravených dotazů .
Další podrobnosti o psaní bezpečného SQL najdete v mé prezentaci Mýty a vkládání SQL Bludy .