Задать вопрос
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)
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Средний 13 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Имена полей и названия плейсхолдеров ни в коем случае нельзя брать из $data
Есть класс юзеров,

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

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

Похожие вопросы