забудь о MySql
нахрена он тебе
у тебя миллион запросов в день???
используй обычные txt файлы в виде баз.. и проблема РЕШЕНА
Санацией входных данных: сначала стандартными фильтрами, а затем регулярками. Хотя регулярки не совсем для защиты - они больше для надежности кода (чтобы ничего не ломалось если на вход пришла фигня) и внятных эррормеседжей в ответах.
Ну и все SQL-запросы через PDO, конечно. Этого в целом уже достаточно в большинстве случаев, прост мне совсем не нравится идея пихать в SQL сырые данные от фронта (поэтому предварительно их фильтрую) и очень нравится идея жесткого контроля выполнения (т. к. пхп не предоствляет средств отладки, и чем ближе ты к ошибке когда скрипт отваливается, тем быстрее эту ошибку найдешь и пофиксишь).
// Но я не бэкэндер, и возможно есть чудо-библиотеки которые реализуют все те же преимущества более изящно, чем мой подход. Тем не менее, он работает - а значит, (как минимум) приемлем.
Иньекции обычно эпическую длину имеют, ограничь post/get запросы по длине
Я на пыхе не пишу.
Но основное правило - использование параметрических запросов. К тому же, это сильно разгружает парсер сервера БД за счет кеширования.