Как добавить товар в базу MySQL?

public function addItem($values) {
        $sql = "INSERT INTO"." `"."$this->table_name"."`";
        $params = [];
        foreach ($values as $key=>$value) {
            $sql .= "$key = ?,";
            array_push($params, $value);
        }
        $sql = chop($sql,',');
        $sql .= " where $this->id_column = ?;";
        array_push($params, $id);
        $db = new DB();
        return $db->query($sql, $params);
    }

 public function addAction() {
        $model = $this->getModel('Product');
        $this->registry['saved'] = 0;
        $this->setTitle("Додавання товару");
        $id = filter_input(INPUT_POST, 'id');
        if ($id) {
            /*
            $values = array(
                'sku' => $_POST['sku'],
                'name' => $_POST['name'],
                'price' => $_POST['price'],
                'qty' => $_POST['qty'],
            );
             *
             */
            $values = $model->getPostValues();
            $this->registry['saved'] = 1;
            $model->addItem($values);
        }
        $this->registry['product'] = $model->getItem($this->getId());
        $this->setView();
        $this->renderLayout();
 }

Новачок в PHP. Это кусок кода редактирования товара. Как реализовать добавление товара?
  • Вопрос задан
  • 405 просмотров
Решения вопроса 2
@vshvydky
phpfaq.ru/safemysql классная штука, а ваш код лично мне кажется нечитаемым. А про результирующий SQL запрос я вообще молчу, я его просто неееее виииииижуууууу, и думаю большинство нормлаьных людей меня поддержат.
UP:
Для вашего случая уже придумано решение в классе:
- ?a ("array") - набор значений для IN (строка вида 'a','b','c')
Ответ написан
Afinogen
@Afinogen
PHP разработчик
Синтаксис запроса INSERT посмотрите
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы