Как сделать запись в таблицу?

Здравствуйте! Удаляю запись из таблицы order и записываю ее в order_archive. Появилась потребность при добавлении данных в order_archive записывать поле supply_id. Делаю так:

if ( isset ( $_POST['id'] ) && isset($_POST['supply_id']) )
    {
      $supply_id = $_POST['supply_id'];
      $ids = implode( ',', $_POST['id'] );
     
  	  $query = ("
        INSERT INTO `order_archive`(`id`, `user_id`, `articul_id`, `barcode`, `quantity`, `supply_id`) VALUES ($supply_id)
        SELECT `id`, `user_id`, `articul_id`, `barcode`, `quantity` FROM `order` WHERE `id` IN ($ids);
        DELETE FROM `order` WHERE `id` IN ($ids)");
  	    if(mysqli_multi_query($db, $query)) {
          echo 'В поставку добавлены: ' .$ids;
        } else {
          echo "Error querying database: " . mysqli_error($db);
        }
    }


Пишет, что ошибка в запросе. В чем ошибка?
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
$query = ("
        INSERT INTO `order_archive`(`id`, `user_id`, `articul_id`, `barcode`, `quantity`, `supply_id`) VALUES ($supply_id)
        SELECT `id`, `user_id`, `articul_id`, `barcode`, `quantity`, " . $supply_id . " as supply_id FROM `order` WHERE `id` IN ($ids);
        DELETE FROM `order` WHERE `id` IN ($ids)");

Ну и прочитай что-нибудь про sql-injection
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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