Таблица
CREATE TABLE `ordered_products` (
`product` INT(11) NOT NULL,
`id` INT(11) NOT NULL AUTO_INCREMENT,
`order` INT(11) NOT NULL,
`count` INT(11) NULL DEFAULT '0',
UNIQUE INDEX `order_pr` (`product`, `order`),
UNIQUE INDEX `u` (`id`),
INDEX `FK_ordered_products_orders` (`order`),
INDEX `FK_ordered_products_products` (`product`),
CONSTRAINT `FK_ordered_products_orders` FOREIGN KEY (`order`) REFERENCES `orders` (`id`),
CONSTRAINT `FK_ordered_products_products` FOREIGN KEY (`product`) REFERENCES `products` (`id`)
Запрос
INSERT INTO
ordered_products (`product`,`order`,`count`) VALUES(683789,28,10)
ON DUPLICATE KEY UPDATE ordered_products.`count`= ordered_products.`count`+10;
$sql="INSERT INTO ordered_products (`product`,`order`,`count`)
VALUES($product[id],$product[order],$product[count])
ON DUPLICATE KEY UPDATE ordered_products.`count`=ordered_products.`count`+$product[count];";
echo $sql;
if ($result = mysqli_query($conect, $sql)) {
$insert_id=mysqli_insert_id($conect);
}else{
$response['success']=false;
$response['error']="ошибка добовления/обновления";
return $response;
}
Правильно суммирует в программе
heidisql
Но не работает в php msqli
Я уже беру подготовленный запрос из php и вставляю в heidisql все норм.
Может я что-то упустил?
Проблема в том что не устанавливается значение суммы.
Пусть $product[count]=10, в базе count=50.
Через heidisql после вызова запроса будет в базе 60
А через php msqli будет 10