MySQL 5.0 Compatiblity on OSCommerce
Written by pnyet   

MySQL 5.0 Compatibility

------------------------------------------------------------------------------

Problem: 

MySQL 5.0 introduces Server SQL modes as part of its SQL 2003 standards support, and uses a more stricter approach to executing SQL queries. This is performed by default with setting STRICT_TRANS_TABLES as a Server SQL mode.

Due to this new setting, MySQL fails on certain SQL queries and produces error messages on the screen.

Solution:

Lines 213-223 in catalog/advanced_search_result.php must be changed from:

$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c";

if ( (DISPLAY_PRICE_WITH_TAX == 'true') && (tep_not_null($pfrom) || tep_not_null($pto)) ) {

if (!tep_session_is_registered('customer_country_id')) {

$customer_country_id = STORE_COUNTRY;

$customer_zone_id = STORE_ZONE;

}

$from_str .= " left join " . TABLE_TAX_RATES . " tr on p.products_tax_class_id = tr.tax_class_id left join " . TABLE_ZONES_TO_GEO_ZONES . " gz on tr.tax_zone_id = gz.geo_zone_id and (gz.zone_country_id is null or gz.zone_country_id = '0' or gz.zone_country_id = '" . (int)$customer_country_id . "') and (gz.zone_id is null or gz.zone_id = '0' or gz.zone_id = '" . (int)$customer_zone_id . "')";

}

$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id ";

to: 

$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id";

if ( (DISPLAY_PRICE_WITH_TAX == 'true') && (tep_not_null($pfrom) || tep_not_null($pto)) ) {

if (!tep_session_is_registered('customer_country_id')) {

$customer_country_id = STORE_COUNTRY;

$customer_zone_id = STORE_ZONE;

}

$from_str .= " left join " . TABLE_TAX_RATES . " tr on p.products_tax_class_id = tr.tax_class_id left join " . TABLE_ZONES_TO_GEO_ZONES . " gz on tr.tax_zone_id = gz.geo_zone_id and (gz.zone_country_id is null or gz.zone_country_id = '0' or gz.zone_country_id = '" . (int)$customer_country_id . "') and (gz.zone_id is null or gz.zone_id = '0' or gz.zone_id = '" . (int)$customer_zone_id . "')";

}

$from_str .= ", " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c";

$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id ";

The following lines must be replaced in catalog/index.php:

Line 175, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

Line 178, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

Line 184, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

Line 187, from:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

to:

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

Line 292 in catalog/admin/categories.php must be changed from:

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), '" . tep_db_input($product['products_date_available']) . "', '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");

to:

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");

 

The following SQL queries need to be performed, You can using PHPMyAdmin to edit execute:

ALTER TABLE whos_online MODIFY COLUMN last_page_url VARCHAR(255) NOT NULL;

ALTER TABLE customers MODIFY COLUMN customers_default_address_id INTEGER;

ALTER TABLE customers_basket MODIFY COLUMN final_price DECIMAL(15,4);

+/-
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:):grin;)8):p:roll:eek:upset:zzz:sigh:?:cry
:(:x
 
Please input the anti-spam code that you can read in the image.
+/- Comments
Add New Search RSS
air max 90  - uggboots     |59.60.119.xxx |05-06-2010 09:20:47
After you pay for lots of money on ugg boots,ugg Classic Tall the next step is to clean and maintain them to make sure that they will be
worn long time.wholesale handbags uk
buy gucci handbag
arrival ugg boots
Timberland Boots on sale
buy NFL Jerseys
buy Gucci Bikinis
men Shox R4
cheap ugg boots
oil arts
Cheap air max 89
buy air max 90
buy ghd straightener
Levi's Jeans
ugg boots uk
buy Christian Louboutin boots
women air max 90
buy paul smith
women air max 97
uk tiffany jewellery
white D&G Handbags
Cartier watches sale
ugg boot sale
from web link: http://www.fbib2b.com
Anonymous   |222.174.116.xxx |10-06-2010 13:07:07
Do you want to become more charming and attractive?Wearing our beautiful Christian Louboutin Shoes with a charming Herve Leger Dress,you will become the focus that numerous people fixes eyes upon.If you feel
that it is not gorgeous enough,please select our Jimmy Choo Shoes and Manolo Blahnik Shoes which can make your feet more attractive.However,If you choose Vibram Five Fingers Which have the ability to make you seem higher,MBT Shoes which are endlessly comfortable and watching P90X DVD,we believe that the whole world will belong to you.Please abandon your
hesitation,do it now.
Christian Louboutin Boots Christian Louboutin Boots Christian Louboutin Pumps Christian Louboutin Pumps Christian Loubou...
watches  - louis vuitton     |219.136.171.xxx |29-06-2010 15:27:44
I believe many people from the advertising or other means to have
understanding omega watches is the first only to

watches the moon, which replica iwc watches adds to

omega
a mysterious audemars piguet watches attraction. 1848 Louis

founded by the OMEGA is today one of the most
famous Swiss replica audemars piguet manufacturers that it's the

Speedmaster miuseries was
miu bags born in 1957, is both durable and clear miu miu bags reading

characteristics of watches. As the rotating Speedmaster style
clasp design of eight from the Seamaster (hippocampus) series.
Therefore Speedmaster end table design is

a sign the hippocampus.

The surface of the world in super
Omega Speedmaster Watch...
yuyangguoji  - lw   |222.174.116.xxx |20-07-2010 12:21:32
I firmly believe you need the Action Adventure with reasonable price that with the high quality,and we will let your
dream come true,a bloody cool boy is born with our mbt boots in the crowd.So don't hesitate,just come to our online shop to catch the
opportunity once in the blue moon,to pick up and buy our workout dvd,a wide range from mbt boots,sport shoes and wholesale mbt to p90x fitness.Of course we are sure you will not miss our fantasy cheap video.
Men MBT M.Walk shoes,cheap MBT M.Walk shoes,cheap Women MBT M.Walk shoes,cheap Men MBT M.Walk shoes,MBT Lami shoes,cheap MBT Lami shoes,MBT Lami shoes sale,MBT Lami shoes for sale,cheap MBT Lami shoes sale,MBT Sport Shoes,cheap MBT Sport Shoes,MBT Spor...
yuyangguoji  - lw   |222.174.116.xxx |20-07-2010 12:47:17
I firmly believe you need the Action Adventure with reasonable price that with the high quality,and we will let your
dream come true,a bloody cool boy is born with our mbt boots in the crowd.So don't hesitate,just come to our online shop to catch the
opportunity once in the blue moon,to pick up and buy our workout dvd,a wide range from mbt boots,sport shoes and wholesale mbt to p90x fitness.Of course we are sure you will not miss our fantasy cheap video.
Men MBT M.Walk shoes,cheap MBT M.Walk shoes,cheap Women MBT M.Walk shoes,cheap Men MBT M.Walk shoes,MBT Lami shoes,cheap MBT Lami shoes,MBT Lami shoes sale,MBT Lami shoes for sale,cheap MBT Lami shoes sale,MBT Sport Shoes,cheap MBT Sport Shoes,MBT Spor...
babydoll     |120.36.36.xxx |20-07-2010 13:31:02
Now lots of people buy adult *** product to improve *** life high stocking,we supply all kinds of adult *** product Long Lady Stocking,because we are manufacture and have our factory women stocking,our product are all safe and wholesale wife babydoll,welcome to visit our store pijamas,all kinds of adult *** product for female and male open bust babydoll, you will buy your love *** product from our store Strap on dildos,adult *** product will greatly improve the quality of your *** life stocking online,*** life is very important baby doll nighties,*** life is harmonious babydoll costumes,the life is happies Wholesale Long Stocking,you can introduce your family and friend to visit our store Finger vibrators,best wi...
Muslim Items   |61.154.6.xxx |29-07-2010 16:17:03
298274818336917502974 From the official Muslim Abaya website of anticipated Muslim Items Star Wars The Muslim hijab Old Republic comes Islamic abaya this new video where the Muslim scarf game designers Buy Muslim Abaya tell us a little about Cheap Muslim Abaya the 2 different Buy Muslim Items classes find Sith characters Cheap Muslim Items in the game, The Islamic hijab Inquisitor Sith Islamic scarf and Sith Warrior. They explain a lot of Islamic Items pictures as designed Muslim wear these characters and Muslim clothing their characteristics Muslim wear Pas Cher one more devoted Muslim wear to the use of force Muslim clothing powers and one more Muslim Items For Sale dedicated to close combat.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."