Разрешение пользователю загружать, редактировать и загружать таблицу базы данных - PullRequest
1 голос
/ 08 июля 2010

Я пытаюсь создать для пользователя простой способ создания таблицы и загрузки ее на сервер с помощью ftp. На стороне сервера я бы хотел запросить эту таблицу как SQL-подобный запрос.

Поскольку я хотел бы, чтобы пользователь редактировал это в чем-то вроде OO Calc или MS Excel, CSV-файлы были бы лучшими / самыми быстрыми для анализа? Делает ли fgetcsv хороший способ? Не могли бы вы предложить какие-либо альтернативы?

Ответы [ 4 ]

1 голос
/ 08 июля 2010

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

Таким образом, вы не только сначала проверяете данные, что всегда полезно, но и контролируете все, например, именование таблиц и т. Д., Что помогает защитить ваши данные от злоумышленников.

0 голосов
/ 08 июля 2010

Я делал это до использования XML.Приятно то, что вы можете вставлять не плоские данные (отношения родитель-потомок).Если кто-то заставляет вас загружать стол, вполне вероятно, что в конечном итоге он попросит вас включить информацию о ребенке.

0 голосов
/ 08 июля 2010

Я думаю, что CSV будет проще всего работать и будет очень быстрым. Проверьте функцию fgetcsv () . Вы можете прочитать файл в массив и выполнить поиск по нему. Если ваши файлы невелики и ваши запросы стандартны, вы можете написать собственный код поиска и не беспокоиться об использовании базы данных.

Если вам нужно обработать любой запрос, который вводит ваш пользователь, вам нужно переместить данные в базу данных, совместимую с SQL, для запроса.

0 голосов
/ 08 июля 2010

Если пользователю необходимо создать таблицу, предоставьте ему доступ к phpMyAdmin (конечно, правильно защищенному). Это также может поддерживать загрузку данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...