Vatrush
@Vatrush

Как в подготовленный MySQL запрос вставить данные из массива?

Имеется вот такой метод записи в бд:
public function insert($table,$data)
    {
        $pdo = $this->db;
        $query = $pdo -> prepare("INSERT INTO $table VALUES(:login,:password,:name)");
        $query -> execute($data);

    }

В него приходят данные отсюда:

public function createUser()
    {
        $db = new DB();
        $data = [
            'login' => "login",
            'password' => "password",
            'name' => "name"
        ];
        $db -> insert('users',$values);
    }

Каким образом в запросе можно подставить данные в VALUES(:login,:password,:name) из $data?
т.е грубо говоря привести запрос в VALUES($data)
  • Вопрос задан
  • 355 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Имена полей и названия плейсхолдеров ни в коем случае нельзя брать из $data
Есть класс юзеров,

Имена полей должны быть прописаны в этом классе и использоваться для построения запросов. В общем случае это просто имена свойств класса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽