Работа с MySQL в Неткэте
PHP — система со сложной историей. Стихийное развитие оставило достаточно родовых травм и детских болезней, чтобы регулярно сводить с ума разработчиков.
Например, сейчас в PHP есть 3 способа работы с базой данных MySQL:
mysql — самое старое раcширение, разработанное для MySQL 3.23. Расширение не развивается. Последние годы разработчики просто обновляют год в описании. С версии PHP 5.5 расширение помечено как устаревшее. В версии 7 расширение удалено из PHP.
Ему на смену предлагаются mysqli и PDO. mysqli — улучшенная версия mysql, а PDO — универсальный механизм для работы с базами данных. Посмотрите сравнение.
Решение просто удалить функции расширения mysql, а не замкнуть их на аналогичные функции mysqli кажется мне очень странным и попахивает насилием.
В Неткэте мы используем базу данных MySQL. Чтобы защитить наших пользователей от таких решений разработчиков PHP мы предоставляем класс для работы с базой данных. Используйте его для прямых запросов в базу. Обязательно экранируйте строковые значения перед подстановкой в запрос методом escape, явно приводите целые и дробные величины функциями intval и floatval. Это — защита от SQL-инъекций.
Даже если вы пишете не на Неткэте, то не используйте функции расширений mysql и mysqli напрямую. Используйте PDO, готовую обёртку или на худой конец, напишите свою.
Комментарии 2