Jump to content

Solved - Fatal error: Uncaught PDOException: SQLSTATE[42S22] error displayed on order confirmation page


Recommended Posts

I have upgraded my website from Prestashop v8.2 to v9.0

The following error is displayed when a payment returns to the order confirmation page. This happens regardless of my payment method, whether it is Opayo, PayPal or Bank Transfer.

The order appears in the Prestashop back office and a payment is taken by the PSP. The order confirmation emails are also produced.

Any ideas what I need to do for this page to display correctly?

Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/db/DbPDO.php:149 Stack trace: #0 /public_html/classes/db/DbPDO.php(149): PDO->query('INSERT INTO `ps...') #1 /public_html/classes/db/Db.php(381): DbPDOCore->_query('INSERT INTO `ps...') #2 /public_html/modules/ps_eventbus/src/Repository/IncrementalSyncRepository.php(98): DbCore->query('INSERT INTO `ps...') #3 /public_html/modules/ps_eventbus/src/Service/SynchronizationService.php(340): PrestaShop\Module\PsEventbus\Repository\IncrementalSyncRepository->insertIncrementalObject(Array) #4 /public_html/modules/ps_eventbus/src/Traits/Hooks/UseOrderHooks.php(53): PrestaShop\Module\PsEventbus\Service\SynchronizationService->insertContentIntoIncremental(Array, 'upsert', '2025-09-08T12:5...', 1, false) #5 /public_html/classes/Hook.php(1251): Ps_eventbus->hookActionObjectOrderAddAfter(Array) #6 /public_html/classes/Hook.php(462): HookCore::coreCallHook(Object(Ps_eventbus), 'hookActionObjec...', Array) #7 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #8 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #9 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #10 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #11 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #12 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #13 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #14 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #15 /public_html/index.php(78): DispatcherCore->dispatch() #16 {main} Next PrestaShopException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/db/DbPDO.php:151 Stack trace: #0 /public_html/classes/db/Db.php(381): DbPDOCore->_query('INSERT INTO `ps...') #1 /public_html/modules/ps_eventbus/src/Repository/IncrementalSyncRepository.php(98): DbCore->query('INSERT INTO `ps...') #2 /public_html/modules/ps_eventbus/src/Service/SynchronizationService.php(340): PrestaShop\Module\PsEventbus\Repository\IncrementalSyncRepository->insertIncrementalObject(Array) #3 /public_html/modules/ps_eventbus/src/Traits/Hooks/UseOrderHooks.php(53): PrestaShop\Module\PsEventbus\Service\SynchronizationService->insertContentIntoIncremental(Array, 'upsert', '2025-09-08T12:5...', 1, false) #4 /public_html/classes/Hook.php(1251): Ps_eventbus->hookActionObjectOrderAddAfter(Array) #5 /public_html/classes/Hook.php(462): HookCore::coreCallHook(Object(Ps_eventbus), 'hookActionObjec...', Array) #6 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #7 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #8 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #9 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #10 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #11 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #12 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #13 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #14 /public_html/index.php(78): DispatcherCore->dispatch() #15 {main} Next PrestaShop\PrestaShop\Core\Exception\CoreException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/Hook.php:484 Stack trace: #0 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #1 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #2 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #3 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #4 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #5 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #6 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #7 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #8 /public_html/index.php(78): DispatcherCore->dispatch() #9 {main} thrown in /public_html/classes/Hook.php on line 484

Edited by skinnybloke
Issue solved (see edit history)
Link to comment
Share on other sites

This error indicates a problem in the ps_eventbus module (the action column is missing).

 

First, check the table to see if the ACTION column exists using a query (e.g., via phpMyAdmin):

SHOW CREATE TABLE ps_eventbus_incremental_sync;

 

The table structure should be as follows:

obraz.thumb.png.9417c574ef145fd949c3403e43b16ab1.png

 

If not, add it with the query:

ALTER TABLE ps_eventbus_incremental_sync ADD COLUMN action VARCHAR(50) NOT NULL;

 

Remember to adjust the ps_ prefix to the one used by your store.

 

Alternatively, try disabling the ps_eventbus module completely and see what happens. If the problem is solved, consider reinstalling this module (uninstall and reinstall) - if you need it at all.

  • Thanks 1
Link to comment
Share on other sites

The 'action' column did not exist. I added it, which I think has corrected the problem.

I can't be sure, as I've now got what I assume to be a totally unassociated error

Fatal error: Uncaught --> Smarty: Unable to load template 'file:layouts/layout-full-width.tpl' in 'page.tpl' <-- thrown in /home/g4u/testsites/testnewversion/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php on line 196

 

Link to comment
Share on other sites

Great, now we have another error, but the previous one seems to be solved 🙂

Check if there is a file in your theme directory:

layouts/layout-full-width.tpl

 

The full path will be something like this:

/public_html/your_shop/themes/classic/templates/layouts/layout-full-width.tpl

 

If it's not there, let me know if you have any modifications to the classic theme. Is it “original”?

  • Thanks 1
Link to comment
Share on other sites

  • skinnybloke changed the title to Solved - Fatal error: Uncaught PDOException: SQLSTATE[42S22] error displayed on order confirmation page

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...