htmlentities() не е необходимо, за да направи данните безопасни за SQL. Използва се при отразяване на стойности на данни в HTML изход, за да се избегнат XSS уязвимости. Това също е важен проблем със сигурността, за който трябва да имате предвид, но не е свързан със SQL.
addslashes() е излишен с mysql_real_escape_string. Ще се окажете с буквални обратни наклонени черти във вашите низове в базата данни.
Не използвайте магически цитати. Тази функция е остаряла от много години. Не разгръщайте PHP код в среда, в която са активирани магическите кавички. Ако е активиран, изключете го. Ако това е хоствана среда и те няма да изключат магическите цитати, вземете нов хостинг доставчик.
Не използвайте ext/mysql
. Той не поддържа параметри на заявка, транзакции или използване на OO.
Актуализация:ext/mysql
беше остарял в PHP 5.5.0 (20.06.2013) и премахнат в PHP 7.0.0 (2015-12-03). Наистина не можете да го използвате.
Използвайте PDO , и направете заявките си по-безопасни, като използвате подготвени заявки .
За повече подробности относно писането на безопасен SQL прочетете моята презентация Митове за инжектиране на SQL и Заблуди .