質問 > その他 > 商品カテゴリーでシステムエラーが出る。 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
w-sato |
投稿日時: 2009/7/7 21:38
対応状況: −−−
|
新米 登録日: 2009/7/6 居住地: 投稿: 7 |
商品カテゴリーでシステムエラーが出る。 商品カテゴリーをクリックすると
「システムエラーが発生しました。」と表示されてしまいます。 商品検索の指定をせずに検索した場合はエラーになりません。 (指定すると同じようにシステムエラーになります。) *********************************** EC-CUBEバージョン 2.4.0-comu PHPバージョン PHP 4.4.7 DBバージョン MySQL 4.1.22-standard *********************************** パラメータ「DEBUG_MODE」を「true」にしたところ画面下部に下記のようなエラーがでました。 宜しくお願いします。 http://*******/html/products/list.php?category_id=1 SERVER_ADDR:******* REMOTE_ADDR:******* USER_AGENT:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727) SELECT product_id ,product_code_min ,product_code_max ,name ,comment1 ,comment2 ,comment3 ,main_list_comment ,main_image ,main_list_image ,price01_min ,price01_max ,price02_min ,price02_max ,stock_min ,stock_max ,stock_unlimited_min ,stock_unlimited_max ,point_rate ,sale_limit ,sale_unlimited ,deliv_date_id ,deliv_fee ,status ,product_flag ,del_flg FROM ( SELECT dtb_products.product_id, dtb_products.name, dtb_products.deliv_fee, dtb_products.sale_limit, dtb_products.sale_unlimited, dtb_products.maker_id, dtb_products.rank, dtb_products.status, dtb_products.product_flag, dtb_products.point_rate, dtb_products.comment1, dtb_products.comment2, dtb_products.comment3, dtb_products.comment4, dtb_products.comment5, dtb_products.comment6, dtb_products.note, dtb_products.file1, dtb_products.file2, dtb_products.file3, dtb_products.file4, dtb_products.file5, dtb_products.file6, dtb_products.main_list_comment, dtb_products.main_list_image, dtb_products.main_comment, dtb_products.main_image, dtb_products.main_large_image, dtb_products.sub_title1, dtb_products.sub_comment1, dtb_products.sub_image1, dtb_products.sub_large_image1, dtb_products.sub_title2, dtb_products.sub_comment2, dtb_products.sub_image2, dtb_products.sub_large_image2, dtb_products.sub_title3, dtb_products.sub_comment3, dtb_products.sub_image3, dtb_products.sub_large_image3, dtb_products.sub_title4, dtb_products.sub_comment4, dtb_products.sub_image4, dtb_products.sub_large_image4, dtb_products.sub_title5, dtb_products.sub_comment5, dtb_products.sub_image5, dtb_products.sub_large_image5, dtb_products.sub_title6, dtb_products.sub_comment6, dtb_products.sub_image6, dtb_products.sub_large_image6, dtb_products.del_flg, dtb_products.creator_id, dtb_products.create_date, dtb_products.update_date, dtb_products.deliv_date_id, T4.product_code_min, T4.product_code_max, T4.price01_min, T4.price01_max, T4.price02_min, T4.price02_max, T4.stock_min, T4.stock_max, T4.stock_unlimited_min, T4.stock_unlimited_max, T4.class_count FROM dtb_products LEFT JOIN ( SELECT product_id, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max, COUNT(*) as class_count FROM dtb_products_class GROUP BY product_id ) AS T4 ON dtb_products.product_id = T4.product_id ) AS alldtl WHERE 0=0 AND product_id IN (1,2) ORDER BY ( SELECT T3.rank FROM dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id AND category_id IN ( ?,? ,? ,? ) ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,( SELECT T2.rank FROM dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id AND category_id IN ( ?,? ,? ,? ) ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,product_id LIMIT 15 OFFSET 0 DB Error: unknown error SELECT product_id ,product_code_min ,product_code_max ,name ,comment1 ,comment2 ,comment3 ,main_list_comment ,main_image ,main_list_image ,price01_min ,price01_max ,price02_min ,price02_max ,stock_min ,stock_max ,stock_unlimited_min ,stock_unlimited_max ,point_rate ,sale_limit ,sale_unlimited ,deliv_date_id ,deliv_fee ,status ,product_flag ,del_flg FROM ( SELECT dtb_products.product_id, dtb_products.name, dtb_products.deliv_fee, dtb_products.sale_limit, dtb_products.sale_unlimited, dtb_products.maker_id, dtb_products.rank, dtb_products.status, dtb_products.product_flag, dtb_products.point_rate, dtb_products.comment1, dtb_products.comment2, dtb_products.comment3, dtb_products.comment4, dtb_products.comment5, dtb_products.comment6, dtb_products.note, dtb_products.file1, dtb_products.file2, dtb_products.file3, dtb_products.file4, dtb_products.file5, dtb_products.file6, dtb_products.main_list_comment, dtb_products.main_list_image, dtb_products.main_comment, dtb_products.main_image, dtb_products.main_large_image, dtb_products.sub_title1, dtb_products.sub_comment1, dtb_products.sub_image1, dtb_products.sub_large_image1, dtb_products.sub_title2, dtb_products.sub_comment2, dtb_products.sub_image2, dtb_products.sub_large_image2, dtb_products.sub_title3, dtb_products.sub_comment3, dtb_products.sub_image3, dtb_products.sub_large_image3, dtb_products.sub_title4, dtb_products.sub_comment4, dtb_products.sub_image4, dtb_products.sub_large_image4, dtb_products.sub_title5, dtb_products.sub_comment5, dtb_products.sub_image5, dtb_products.sub_large_image5, dtb_products.sub_title6, dtb_products.sub_comment6, dtb_products.sub_image6, dtb_products.sub_large_image6, dtb_products.del_flg, dtb_products.creator_id, dtb_products.create_date, dtb_products.update_date, dtb_products.deliv_date_id, T4.product_code_min, T4.product_code_max, T4.price01_min, T4.price01_max, T4.price02_min, T4.price02_max, T4.stock_min, T4.stock_max, T4.stock_unlimited_min, T4.stock_unlimited_max, T4.class_count FROM dtb_products LEFT JOIN ( SELECT product_id, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max, COUNT(*) as class_count FROM dtb_products_class GROUP BY product_id ) AS T4 ON dtb_products.product_id = T4.product_id ) AS alldtl WHERE 0=0 AND product_id IN (1,2) ORDER BY ( SELECT T3.rank FROM dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id AND category_id IN ( 1,'3' ,'4' ,'5' ) ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,( SELECT T2.rank FROM dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id AND category_id IN ( 1,'3' ,'4' ,'5' ) ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,product_id LIMIT 15 OFFSET 0 [nativecode=1052 ** Column 'category_id' in where clause is ambiguous] /home/*******/html/products/list.php 34:lc_page_products_list_ex->process /home/*******/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php 56:lc_page_products_list->process /home/*******/data/class/pages/products/LC_Page_Products_List.php 131:lc_page_products_list_ex->lfdispproductslist /home/*******/data/class/pages/products/LC_Page_Products_List.php 565:sc_query->select /home/*******/data/class/SC_Query.php 92:sc_dbconn->getall /home/*******/data/class/SC_DbConn.php 169:db_mysql->getall /home/*******/data/module/DB/common.php 1664:db_mysql->execute /home/*******/data/module/DB/common.php 1012:db_mysql->simplequery /home/*******/data/module/DB/mysql.php 327:db_mysql->mysqlraiseerror /home/*******/data/module/DB/mysql.php 898:db_mysql->raiseerror /home/*******/data/module/DB/common.php 1912:pear->raiseerror /home/*******/data/module/PEAR.php 557:db_error->db_error /home/*******/data/module/DB.php 970:db_error->pear_error |
seasoft |
投稿日時: 2009/7/7 22:08
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品カテゴリーでシステムエラーが出る。 MySQL 4.1 で発生する症状だったと思います。
LEFT JOIN を RIGHT JOIN で書き直すと、なぜか症状が収まるらしいです。 できれば、RIGHT JOIN を使わずに解決したいと思っていますが、当方では MySQL 4.1 環境がなく、再現ができずにおります。 コミュニティを導入した MySQL 4.1 環境をお貸しいただければ、再現や改訂を行ってみたいと思っています。
|
seasoft |
投稿日時: 2009/7/7 22:11
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
追伸 MySQL 5.0 で
|
nanasess |
投稿日時: 2009/7/7 22:19
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 商品カテゴリーでシステムエラーが出る。 引用:
2.4.0 + MySQL4.1 の環境でチェックしたことがあるのですが, explain の結果では, LEFT JOIN で頑張るより, RIGHT JOIN の方が効率の良い検索をしているようでした. コミュニティ版を追い切れていなくて恐縮なのですが, 正式版の RIGHT JOIN は適用できませんでしたっけ?? |
seasoft |
投稿日時: 2009/7/7 22:27
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品カテゴリーでシステムエラーが出る。 MySQL 4.1 では、LEFT JOIN を使うのに頑張る必要があるのですね・・・
頑張りたくはない部分ですね。 しかし、「ambiguous」と具体的に指摘されているので、軽く直せそうな予感もするのですが。甘いかな^^; > コミュニティ版を追い切れていなくて恐縮なのですが, 正式版の RIGHT JOIN は適用できませんでしたっけ?? 検証したことはありませんが、SELECT するカラムだけ揃えれば、問題ない予感はします。
|
nanasess |
投稿日時: 2009/7/7 22:46
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 商品カテゴリーでシステムエラーが出る。 引用:
僕は, MySQL4.1 では頑張った記憶しかないので, 嫌な予感がします^^; あと, LEFT JOIN で頑張ろうとすると, 確か相当長い SQL になります. うろ覚えですみません... 引用:
問題なければ, RIGHT JOIN を適用するのに一票. MySQL 4.1 をお使いの方の意見も聞きたいですね. |
ramrun |
投稿日時: 2009/7/8 18:04
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: 商品カテゴリーでシステムエラーが出る。 私が使ってるXSASをカスタマイズした環境ですが、よかったら試してみてください。
----- eccube-comu-ver2-r18171を入れてありますので、 解凍したらXSAS.exeを起動し、ブラウザでlocalhostにアクセス するだけでインストールが開始されます。 詳細は同梱してあるreadme_eccube.txtを参照してください。 |
seasoft |
投稿日時: 2009/7/8 18:32
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品カテゴリーでシステムエラーが出る。 ramrun 様
有用な環境の公開ありがとうございます。 XSAS.exe を起動したのですが、ポート80が上がらないようです。 どの辺を確認すればよろしいでしょうか? WinXP Pro SP1 C:\XSAS_PHP4.9.9_MySQL4.1.22 に配置
|
ramrun |
投稿日時: 2009/7/8 18:43
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: 商品カテゴリーでシステムエラーが出る。 あれ? ちょっと自分でダウンロードして試してみます(汗)。
XSAS.exeを実行したときにXSASのコントロールパネルとDOS窓の2つが開きます。 DOS窓のほうがapacheを起動させているものですので、それが出ないようだと起動時に異常終了している可能性があります。 |
seasoft |
投稿日時: 2009/7/8 18:50
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品カテゴリーでシステムエラーが出る。 > XSAS.exeを実行したときにXSASのコントロールパネルとDOS窓の2つが開きます。
> DOS窓のほうがapacheを起動させているものですので、それが出ないようだと起動時に異常終了している可能性があります。 DOS窓は開いていないです。 取り急ぎご報告まで。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |