オンラインストーア 1054 – Unknown column ‘xxx.products_id’ in ‘on clause’ エラーの修正

オンラインストーアを最新バージョン R9 にアップグレードしたら、1054 – Unknown column ‘p.products_id’ in ‘on clause’ のエラー出ました。調べたら、PHP5 と MySQL5 の対応問題で、次のようにファイルを修正したら、直りました。

catalog フォルダ内の

default.php または index.php  の 170 から 190 行にある:

$listing_sql = の後に続ける as final_price from “ から  left join ” . TABLE_SPECIALS . の間に次のように

as final_price from (” . TABLE_PRODUCTS . ” p, ” . TABLE_PRODUCTS_DESCRIPTION . ” pd, ” . TABLE_MANUFACTURERS . ” m, ” . TABLE_PRODUCTS_TO_CATEGORIES . ” p2c) left join ” . TABLE_SPECIALS . 

括弧を入れる。全部4箇所。

また、advanced_search_result.php に

:

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

:

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

のように括弧を入れる。


そして、データをバックアップしようとしたら、真っ白の画面になり、バックアップしない。error.log に

PHP Fatal error:  Allowed memory size of 52428800 bytes exhausted (tried to allocate 10645526 bytes) in backup.php on line 49

のメッセージがある。同じフォルダー内の php.ini にある memory_limit の値を 50M から 128M にすれば、直った。

Comments are closed.