2014-09-07 3 views
0

После некоторых проектов в PHP/MYSQL и некоторых попыток сделать мою жизнь кодирования проще и лучше, я недавно начал писать свою собственную MVC Framework. Тем не менее, с небольшим опытом работы с MYSQL я заметил, что я на самом деле всегда делать то же самое: я делаю некоторые HTML формы, которые я представить с помощью кнопки, а затем отправить непосредственно POST данные в MYSQL таблице, что-то вроде:Значения полей формы непосредственно в таблице mysql

$data1 = $_POST['data1'] 
$data2 = $_POST['data2'] 
// ... 
$data999 = $_POST['data999'] 
// some data validation 
// ... 
magicFunction($data) 

и, Конечно, magicFunction - это не что иное, как функция, которая генерирует код mysql INSERT/UPDATE/DELETE с указанными данными. Не было бы плохой идеей создать несколько классов и методов, которые просто обрабатывают переменную $ _POST от Controller и получают некоторые ограничения на проверку данных от меня? С этим легче жить. Однако, что я хотел бы знать: правильно ли использовать поля формы так же, как столбцы таблицы mysql (возможно, с некоторыми определенными исключениями)? Если да, то что мне следует учитывать в проекте?

+0

Если у вас много данных, вы можете использовать данные [] на стороне HTML, и он будет передан в PHP как массив. – tyteen4a03

ответ

1

Я всегда использую PHP-класс PDO для соединений с базой данных. По-моему, это лучший способ справиться с событиями базы данных.

Есть ссылка. Прочтите, как установить соединение, и вы ДОЛЖНЫ прочитать о том, как подготовить и выполнить инструкции для предотвращения SQL-инъекции: http://us3.php.net/manual/en/intro.pdo.php

Также мне нравится создавать класс для каждой таблицы в базе данных.

Пример:

$username = $_POST['username']; 
$userTable = new UserTable(); 
$userTable->selectUserByUsername($username); 

Когда вы поймете, как класс PDO работает вы можете напрямую и безопасно использовать $ _POST данные для запроса к базе данных.