Я пытаюсь добавить данные в несколько таблиц, используя внешние ключи. Я впервые использую транзакцию SQL, потому что прочитал о ней много хорошего.
У меня есть запрос SQL, который отлично работает в phpmyadmin:
BEGIN;
INSERT INTO `webInfo` (`id`, `webItem`, `webDescription`, `webText`)
VALUES(NULL,'tagheuer Watch','Watch','Watch');
INSERT INTO `valuationNotepad` (`id` ,`valuationNotepad1`, `valuationNotepad2`, `valuationNotepad3`, `valuationNotepad4`)
VALUES(LAST_INSERT_ID(),'Watch', 'Watch', 'Watch', 'Watch');
INSERT INTO stock (`id`,`listCost`,`productName`,`totalCost`,`rsp`,`rspDate`,`rspPrev1`,`rspPrev1Date`,`rspPrev2`,`rspPrev2Date`,`rspPrev3`,`rspPrev3Date`,`rspPrev4`,`rspPrev4Date`,`webID`,`valuationNotepadID`,`ringSizeID`,`addedBy`,`dateAdded`,`stockLevel`) VALUES (NULL,30000,'Tagheur Watch',3000,4000,'2020-04-15',50000,'2020-04-15',50000,'2020-04-15',60000,'2020-04-15',65000,'2020-04-15',LAST_INSERT_ID(),LAST_INSERT_ID(),2,'JD',CURRENT_TIMESTAMP,60);
COMMIT;
Как уже говорилось ранее, это прекрасно работает в phpmyadmin. Однако, когда я пытаюсь использовать его с PHP и с PHP переменными, запрос не выполняется. Запрос с PHP переменными показан ниже.
$addStock = "BEGIN;
INSERT INTO `webInfo` (`id`, `webItem`, `webDescription`, `webText`)
VALUES(NULL,'$webItem','$webDescription','$webText');
INSERT INTO `valuationNotepad` (`id` ,`valuationNotepad1`, `valuationNotepad2`, `valuationNotepad3`, `valuationNotepad4`)
VALUES(LAST_INSERT_ID(),'$valuationNotepad1', '$valuationNotepad2', '$valuationNotepad3', '$valuationNotepad4');
INSERT INTO stock (`id`,`listCost`,`productName`,`totalCost`,`rsp`,`rspDate`,`rspPrev1`,`rspPrev1Date`,`rspPrev2`,`rspPrev2Date`,`rspPrev3`,`rspPrev3Date`,`rspPrev4`,`rspPrev4Date`,`webID`,`valuationNotepadID`,`ringSizeID`,`addedBy`,`dateAdded`,`stockLevel`) VALUES (NULL,$listCost,$productName,$totalCost,$rsp,$rspDate,$prevRSP1,$prevRSP1Date,$prevRSP2,$prevRSP2Date,$prevRSP3,$prevRSP3Date,$prevRSP4,$prevRSP4Date,LAST_INSERT_ID(),LAST_INSERT_ID(),2,'JD',CURRENT_TIMESTAMP,$stockAdded);
COMMIT;";
$stockAddedResult = mysqli_query($conn, $addStock);
Я получаю сообщение об ошибке Проверьте руководство, соответствующее вашей MySQL версии сервера, для правильного синтаксиса для использования рядом с 'INSERT INTO webInfo
в моем браузере.
Я пытался устранить ошибку на основе того, что в моем запросе была ошибка типа SQL, но теперь я не уверен, что это проблема.
Если у кого-то есть какие-либо мысли по поводу этой проблемы, пожалуйста, сообщите мне.
Спасибо