[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание переменных из mysql
Whiskas
Кхм, заинтересовал меня вопрос. Есть ли какая функция, чтобы можно было избежать постоянного объявления переменных, вместо этого:

if(isset($_POST['id'])) $com_id = $_POST['id'];
if(isset($_POST['name'])) $name = $_POST['name'];
if(isset($_POST['email'])) $email = $_POST['email'];
if(isset($_POST['text'])) $text = $_POST['text'];


Что-либо, чтобы все автоматически заносилось в переменные.

Или так уже делается, только в массив? Если не затруднит, можете показать хотя бы часть программки, или базовое его исполнение, дальше сам пойму. Заранее спасибо!
Invis1ble
от того что ты хочешь только недавно ушли, т.к. это создавало определенные проблемы в безопасности

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Valick
Whiskas, тут лучше использовать тернарный оператор, потому как зачастую требуется значение по умолчанию (тот же false к примеру)

_____________
Стимулятор ~yoomoney - 41001303250491
Whiskas
Т.е. как бы то ни было, всегда придется вручную объявлять переменные? Тренарный оператор на что использовать? это же просто if,else вроде как
Kusss
Whiskas
Если так уж хочется, напиши простую функцию.
foreach ($_POST AS $key=>$value){
$$key = $value;
}
Invis1ble
непонятно, кстати, причём здесь MySQL

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Valick
Invis1ble, интрига интриг biggrin.gif

_____________
Стимулятор ~yoomoney - 41001303250491
inpost
Whiskas
Вот ты сидишь и думаешь:
я сейчас переведу из $_POST['name'] в $name, а дальше в коде круто буду писать следующий код:
echo $name;
mysql_query("INSERT INTO `table` SET `name` = '".$name."'");

И ты даже не подозреваешь о таком типе переменных как массив, так как пропустил в обучении раздел "массивы", и в мануале тоже http://php.net/manual/ru/language.types.array.php
И теперь ты даже не подозреваешь, что можно написать:
echo $_POST['name'];
mysql_query("INSERT INTO `table` SET `name` = '".$_POST['name']."'");

и получить абсолютно тот же результат без создания дополнительной переменной.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Whiskas
Не побоюсь показаться глупым, но есть еще 1 вопрос по ООП только.

Как объектный запрос mysqli (что-то вроде)
$mysqli -> query("ЗАПРОС")


вставить в класс. Например на вставку комментариев.

class Comments {
public $resultat;
public function insertComment ($query) {
global $mysqli;
$this -> resultat = $mysqli -> query($query);
return $this -> resultat;
}
}



Ну и соответственно вывод:

$comment = new Comments();
$comment -> insertComment("INSERT INTO comment SET
'id' = '"
.$_POST['id']."',
'name' = '"
.$_POST['name']."',
'email' = '"
.$_POST['email']."',
'text' = '"
.$_POST['text']."'
"
);


Что неправильного здесь? Всё?) Или только часть?
inpost
Whiskas
ты же уже вставил через global. Некоторые делают синглтон, мне, лично, нравится реализации через функцию или статичный класс (оболочка над mysqli), где он является посредником + умеет логировать ошибки в файл и т.д.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Whiskas
Трабла в том, что не работает этот класс.
inpost
Всё очень просто, у тебя нет $mysqli wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Whiskas
$mysqli есть, я создал подключение к базе в отдельном файле. Или как раз в этом и проблема?
inpost
Может быть внутри другой функции? Тогда ты не знаешь про область видимости. Нужно создавать $mysqli за пределами функции. И ещё, когда обрабатывается сверху вниз, это тоже стоит учесть.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Hello
Whiskas
extract($_POST)


_____________
VPS от 5$, первые 2 месяца - бесплатно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.