Лучше всего разрешить пользователям загружать CSV-файл с первой строкой, содержащей имена полей (и, возможно, типы полей (например, int, varchar и т. Д.)). Затем вы можете проанализировать его и проверить на наличие действительных / вредоносных данных. Если он проходит проверку, создайте таблицу базы данных, экранирующую все релевантные данные, из которых вы затем можете запросить.
Таким образом, вы не только сначала проверяете данные, что всегда полезно, но и контролируете все, например, именование таблиц и т. Д., Что помогает защитить ваши данные от злоумышленников.