TEXT
или TINYTEXT
или что-либо подобное должно подойти для хранения данных ASCII от пользователя. Если вам не нужно много места, вы можете подумать о VARCHAR
Я думаю, что mysql_real_escape_string()
экранирует символы, которые могут поставить под угрозу безопасность SQL-запроса (одинарные кавычки, двойные кавычки и т. Д.), Но не делают намного больше.
htmlentities()
преобразует зарезервированные html-символы, такие как <и>, в их html-кодированный эквивалент, & lt; и & gt; соответственно. Эти символы не опасны для запросов SQL, поэтому вам, вероятно, не нужно избегать их, если только вы не хотите отобразить введенный пользователем тег HTML в виде текста и не допустить его интерпретацию как HTML.
NL2BR()
, вероятно, также не требуется.
Самое главное, ваше решение о том, когда использовать каждую из этих функций, будет зависеть от вашего конечного приложения. Вы можете нуждаться / хотеть некоторые, но не другие (хотя вы обязательно должны использовать mysql_real_escape_string()
)