$query = $db->query('INSERT INTO `order`(`user_id`, `articul_id`, `sharpener_id`, `barcode`, `quantity`) VALUES ('.$user_id.','.$articul_id.','.$sharpener_id.','.$barcode.','.$quantity.')');
<? if(isset($_POST['users']) && isset($_POST['articul']) && isset($_POST['sharpeners']) && isset($_POST['barcode']) && $_POST['quantity']!="" && $_POST['users'] !="Выберите сотрудника" && $_POST['articul'] !="Выберите артикул" && $_POST['sharpeners'] !="Выберите заточника"){ ?><?}?>
- $query = $db->query('INSERT INTO `order`(`user_id`, `articul_id`, `sharpener_id`, `barcode`, `quantity`) VALUES ('.$user_id.','.$articul_id.','.$sharpener_id.','.$barcode.','.$quantity.')');
+ $db->prepare(
+ 'INSERT INTO `order` (`user_id`, `articul_id`, `sharpener_id`, `barcode`, `quantity`)' .
+ 'VALUES (?, ?, ?, ?, ?)'
+ )->execute([$user_id, $articul_id, $sharpener_id, $barcode, $quantity]);
VALUES ('.$user_id.','.$aпользоваться нужно prepared statements (они есть для всех драйверов, вот например mysqli), это не только исключит разные проблемы с типами (например строки придется экранировать) но и даст бонусом защиту от sql-иньекций