Cart is creating one order per product purchased - 5 products, 5 orders
[Note: remember to include site URL, ZC version, list of plugins, PHP version, etc ... read the Posting Tips shown above for information to include in your post here. And, remove this comment before actually posting!]
b-naturals.com
was last upgraded from 156b to 156c 6 months ago
freelancer did it by hand
original install was by hand a few years ago
156c
database patch 15.6
PHP 7.2.6
mysql 5.7.29
ultimate seo
bluepay
freecharger
freerules
ups
usps
ot coupon
ot group pricing
ot shipping
ot subtotal
ot tax
ot total
hosting liquid web dedicated server
Problem started
01/11/2020 11:17:44
At that point the server clock was 8 hours ahead of local time
I had a request in to hosting to change server lccal time to US Central, they put in Chicago (which was wrong) at 13 jan 2020 09:15 or abouts, as I have a Chicago time zone error log start there.
myDEBUG-adm-20200113-163003-704848
Code:
[13-Jan-2020 16:30:03 America/Chicago] Request URI: /storemanager/modules.php?set=payment, IP address: 75.67.238.75
#1 usu->href_link() called at [/home/bnatural/public_html/storemanager/includes/classes/observers/UsuAdminObserver.php:49]
#2 UsuAdminObserver->update() called at [/home/bnatural/public_html/includes/classes/class.base.php:103]
#3 base->notify() called at [/home/bnatural/public_html/storemanager/includes/functions/html_output.php:50]
#4 zen_catalog_href_link() called at [/home/bnatural/public_html/includes/languages/english/modules/payment/paypal.php:14]
#5 include(/home/bnatural/public_html/includes/languages/english/modules/payment/paypal.php) called at [/home/bnatural/public_html/storemanager/modules.php:192]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home/bnatural/public_html/includes/classes/usu.php on line 201.
[13-Jan-2020 16:30:03 America/Chicago] Request URI: /storemanager/modules.php?set=payment, IP address: 75.67.238.75
#1 usu->href_link() called at [/home/bnatural/public_html/storemanager/includes/classes/observers/UsuAdminObserver.php:49]
#2 UsuAdminObserver->update() called at [/home/bnatural/public_html/includes/classes/class.base.php:103]
#3 base->notify() called at [/home/bnatural/public_html/storemanager/includes/functions/html_output.php:50]
#4 zen_catalog_href_link() called at [/home/bnatural/public_html/includes/languages/english/modules/payment/square.php:34]
#5 include(/home/bnatural/public_html/includes/languages/english/modules/payment/square.php) called at [/home/bnatural/public_html/storemanager/modules.php:192]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home/bnatural/public_html/includes/classes/usu.php on line 201.
Code:
[13-Jan-2020 16:01:48 America/Chicago] Request URI: /index.php?main_page=account_history_info&order_id=61469, IP address: 75.168.194.135
#1 sizeof() called at [/home/bnatural/public_html/includes/templates/template_default/templates/tpl_account_history_info_default.php:29]
#2 require(/home/bnatural/public_html/includes/templates/template_default/templates/tpl_account_history_info_default.php) called at [/home/bnatural/public_html/includes/templates/mobishop_blue/common/tpl_main_page.php:110]
#3 require(/home/bnatural/public_html/includes/templates/mobishop_blue/common/tpl_main_page.php) called at [/home/bnatural/public_html/index.php:97]
--> PHP Warning: sizeof(): Parameter must be an array or an object that implements Countable in /home/bnatural/public_html/includes/templates/template_default/templates/tpl_account_history_info_default.php on line 29.
Code:
[13-Jan-2020 15:54:59 America/Chicago] Request URI: /index.php?main_page=checkout_process, IP address: 35.138.58.78
#1 trigger_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/bnatural/public_html/includes/modules/payment/bluepay_an.php:500]
#5 bluepay_an->after_process() called at [/home/bnatural/public_html/includes/classes/payment.php:254]
#6 payment->after_process() called at [/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php:17]
#7 require(/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php) called at [/home/bnatural/public_html/index.php:36]
--> PHP Fatal error: 1366:Incorrect integer value: '' for column 'orders_status_id' at row 1 :: insert into orders_status_history (comments, orders_id, orders_status_id, date_added) values ('Credit Card payment. AUTH: 200910. TransID: .' , '61478','', now() ) ==> (as called by) /home/bnatural/public_html/includes/modules/payment/bluepay_an.php on line 500 <== in /home/bnatural/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Code:
[13-Jan-2020 15:54:58 America/Chicago] Request URI: /index.php?main_page=checkout_process, IP address: 35.138.58.78
#1 trigger_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/bnatural/public_html/includes/modules/payment/bluepay_an.php:500]
#5 bluepay_an->after_process() called at [/home/bnatural/public_html/includes/classes/payment.php:254]
#6 payment->after_process() called at [/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php:17]
#7 require(/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php) called at [/home/bnatural/public_html/index.php:36]
--> PHP Fatal error: 1366:Incorrect integer value: '' for column 'orders_status_id' at row 1 :: insert into orders_status_history (comments, orders_id, orders_status_id, date_added) values ('Credit Card payment. AUTH: 239531. TransID: .' , '61477','', now() ) ==> (as called by) /home/bnatural/public_html/includes/modules/payment/bluepay_an.php on line 500 <== in /home/bnatural/public_html/includes/classes/db/mysql/query_factory.php on line 171.
546pm
Code:
[12-Jan-2020 22:46:10 UTC] Request URI: /index.php?main_page=checkout_process, IP address: 96.40.210.65
#1 trigger_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/bnatural/public_html/includes/modules/payment/bluepay_an.php:500]
#5 bluepay_an->after_process() called at [/home/bnatural/public_html/includes/classes/payment.php:254]
#6 payment->after_process() called at [/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php:17]
#7 require(/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php) called at [/home/bnatural/public_html/index.php:36]
--> PHP Fatal error: 1366:Incorrect integer value: '' for column 'orders_status_id' at row 1 :: insert into orders_status_history (comments, orders_id, orders_status_id, date_added) values ('Credit Card payment. AUTH: 01282Z. TransID: .' , '61444','', now() ) ==> (as called by) /home/bnatural/public_html/includes/modules/payment/bluepay_an.php on line 500 <== in /home/bnatural/public_html/includes/classes/db/mysql/query_factory.php on line 171.
403pm
Code:
[12-Jan-2020 21:03:54 UTC] Request URI: /index.php?main_page=checkout_process, IP address: 24.254.83.43
#1 trigger_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/bnatural/public_html/includes/functions/functions_general.php:952]
#5 zen_db_perform() called at [/home/bnatural/public_html/includes/classes/order.php:829]
#6 order->create_add_products() called at [/home/bnatural/public_html/includes/modules/checkout_process.php:100]
#7 require(/home/bnatural/public_html/includes/modules/checkout_process.php) called at [/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php:14]
#8 require(/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php) called at [/home/bnatural/public_html/index.php:36]
--> PHP Fatal error: 1406:Data too long for column 'products_name' at row 1 :: INSERT INTO orders_products (orders_id, products_id, products_model, products_name, products_price, final_price, onetime_charges, products_tax, products_quantity, products_priced_by_attribute, product_is_free, products_discount_type, products_discount_type_from, products_prid, products_weight, products_virtual, product_is_always_free_shipping, products_quantity_order_min, products_quantity_order_units, products_quantity_order_max, products_quantity_mixed, products_mixed_discount_quantity) VALUES ('61437', '61', '7083', 'Berte\'s Ultra Probiotic Powder Beneficial Bacteria (5 lb) for Cats and Dogs', '35.9500', '35.95', '0', '0', '1', '0', '0', '0', '0', '61:7f39f8317fbdb1988ef4c628eba02591', '6.5', '0', '0', '1', '1', '0', '0', '0') ==> (as called by) /home/bnatural/public_html/includes/functions/functions_general.php on line 952 <== in /home/bnatural/public_html/includes/classes/db/mysql/query_factory.php on line 171.
I have several of these, oldest I have is Jan 12 4pm
Code:
[12-Jan-2020 21:00:28 UTC] Request URI: /index.php?main_page=checkout_process, IP address: 67.181.217.179
#1 trigger_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/bnatural/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/bnatural/public_html/includes/functions/functions_general.php:952]
#5 zen_db_perform() called at [/home/bnatural/public_html/includes/classes/order.php:829]
#6 order->create_add_products() called at [/home/bnatural/public_html/includes/modules/checkout_process.php:100]
#7 require(/home/bnatural/public_html/includes/modules/checkout_process.php) called at [/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php:14]
#8 require(/home/bnatural/public_html/includes/modules/pages/checkout_process/header_php.php) called at [/home/bnatural/public_html/index.php:36]
--> PHP Fatal error: 1406:Data too long for column 'products_name' at row 1 :: INSERT INTO orders_products (orders_id, products_id, products_model, products_name, products_price, final_price, onetime_charges, products_tax, products_quantity, products_priced_by_attribute, product_is_free, products_discount_type, products_discount_type_from, products_prid, products_weight, products_virtual, product_is_always_free_shipping, products_quantity_order_min, products_quantity_order_units, products_quantity_order_max, products_quantity_mixed, products_mixed_discount_quantity) VALUES ('61436', '9', '8001', 'Berte\'s Green Blend Sea Vegetation Minerals and Vitamins for Dogs, Cats and Birds (1lb)', '17.9500', '17.95', '0', '0', '1', '0', '0', '0', '0', '9', '1.44', '0', '0', '1', '1', '0', '0', '0') ==> (as called by) /home/bnatural/public_html/includes/functions/functions_general.php on line 952 <== in /home/bnatural/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Re: Cart is creating one order per product purchased - 5 products, 5 orders
It was that the blue pay code could no longer read the default order status.
I specifically assigned it one and it worked.
I think the multiple orders were people reloading the order page error message and re-sending their order confirmation.
Would anyone know why my products_name is too long in that sql statement above?
It's varchar(64) utf8mb4_general_ci in the db structure.
Maybe it's not important if the orders are going through now.
Re: Cart is creating one order per product purchased - 5 products, 5 orders
UPDATE NOT FIXED
We just got multiple duplicate orders again after that fix
UPDATED DATABASE ON SATURDAY
Had forgotten this in write up
---
I'll just keep updating this in case anyone else ends up with this issue.
I changed products_name to 256 characters.
It's happy again.
Why it accepted that product name before the db change unknonw.
Re: Cart is creating one order per product purchased - 5 products, 5 orders
The real question, in my mind, is how an 89-character product name got loaded into a 64-character database field in the first place!
Re: Cart is creating one order per product purchased - 5 products, 5 orders
It is possible (unless there is some proof on your side) that the products_name in the products_description table was extended to 256, but the products_name in the orders_products table was still the default of 64. There is nothing in the zc_install process that would have modified the products_name fields of either of those tables when executing zc_install for the Zen Cart 1.5.6 upgrade only. (I did not go back in the history of other upgrades to see if/when it might have been set to 64 other than on initial install.)
For the other warnings, there are portions of the code that have not been updated to prevent those warnings while using php 7.2. You could possibly, if your host allows, downgrade to php 7.1 until those items are corrected.
The upcoming Zen Cart 1.5.7 has more than likely corrected those issues with relatively simple fixes. Many are to ensure assignment/casting of values to integer (addresses the orders_status_id being empty issue) or at some point either defaulting a variable to an array() at a point before it is accessed, or by bypassing the loop if it is an empty array or not an array, that type of thing.
By not preventing these logs or by not correcting them, your site will likely run into a problem of having too many files in the logs folder and that can cause problems of its own. Issues should still be logged, but either the environment should better support operation without generating them, or the code modified to provide the information expected.
The assignment of 1 for the orders_status_id probably should be undone and (int) placed in the php code section just before the orders_status_id. Without seeing the code in this area, I'm not sure how else to describe that modification.
Re: Cart is creating one order per product purchased - 5 products, 5 orders
I know!!!!! I do not have an explanation for this glitch.