Вероятно, есть много способов.Предполагается, что ваши $_GET
имена переменных и имена полей таблицы точно совпадают.
$var_list = array('var1', 'var2', 'var3'); // as many as you want
// this filters GET to be just your variables
$params = array_intersect_key($_GET, array_fill_keys($var_list, ''));
$query = "INSERT INTO tbl_users (" . implode(',', array_keys($params)) . ") VALUES (";
foreach ($params as $val) {
$query .= mysql_real_escape_string($val);
}
$query .= ")";
Редактировать:
Как отмечено в комментариях, вам нужно быть осторожным с ключами здесь,Общий способ просто вставить ключи в запрос, как этот, очень плохой, , если , вы не фильтруете их, как я сделал здесь.Если бы вместо array_keys($params)
это было что-то вроде array_keys($_GET)
, тогда вы были бы широко открыты для внедрения SQL.Убедитесь, что вы дезинфицируете ввод, ключи и значения.