Recently installed the latest version of Zen Cart on the following setup:
FreeBSD 6.1
PHP 5.1.2
MySQL 5.1.2
Install went as expected, but the product page shows nothing but a SQL error:
1054 - Unknown column 'p.products_id' in 'on clause'
I did a little research on the web and found this thread regarding the same error in osCommerce:
http//www.oscommerce.com/community/bugs,3171/category,Installation+&+Configuration
where I learned about the new, stricter JOIN syntax. I then made the following changes to includes/modules/meta_tags.php :
And the product page now displays correctly without the error. I assume this JOIN syntax bug exists elsewhere in the code base and will show itself in MySQL 5 installations. However, my Zen Cart experience has lasted about 30 minutes thus far.Code:> diff -Nu meta_tags.php.old meta_tags.php --- meta_tags.php.old Mon Jun 12 03:19:12 2006 +++ meta_tags.php Mon Jun 12 03:17:59 2006 @@ -161,7 +161,7 @@ p.products_id, p.metatags_price_status, p.metatags_title_tagline_status, pd.products_description, mtpd.metatags_title, mtpd.metatags_keywords, mtpd.metatags_description - from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_META_TAGS_PRODUCTS_DESCRIPTION . " mtpd on mtpd.products_id = p.products_id and mtpd.language_id = '" . (int)$_SESSION['languages_id'] . "' + from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd) left join " . TABLE_META_TAGS_PRODUCTS_DESCRIPTION . " mtpd on mtpd.products_id = p.products_id and mtpd.language_id = '" . (int)$_SESSION['languages_id'] . "' where p.products_id = '" . (int)$_GET['products_id'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'";![]()



