バージョン選択

フォーラム

メニュー

オンライン状況

42 人のユーザが現在オンラインです。 (34 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 42
もっと...

サイト内検索

その他 > その他 > EC-CUBE2.0.0-BETA

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2007/11/23 11:47
対応状況: −−−
EC-CUBE2.0.0-BETA
EC-CUBE2.0.0-BETAをMySQL4.1で不具合なく使えている方はいらっしゃるでしょうか?
当方、商品一覧表示のページで価格順、新着順のリンクを押すとシンタックスエラーが出ます。解決方法がわからず困っています。当方だけの症状なのか、ほかの皆さんも同じなのか、どうでしょうか?
できれば株式会社ロックオン開発者様に確認していただきたいのですが、フォーラムを検索しても見つかりません。どうぞ宜しくお願いします。
EC-CUBE2.0.0-BETA
MYSQL4.1.1
PHP4
ラピッドサイトVPS
以上の環境です
mi-yan
投稿日時: 2007/11/27 14:47
対応状況: −−−
常連
登録日: 2007/6/4
居住地: 東京
投稿: 54
Re: EC-CUBE2.0.0-BETA
確かに私の環境でもエラーが出ます。
SQLに問題がありそうで、メッセージも表示されているので追跡すれば解決できそうですね。
っと、今ちょっと余力がないので、表示されたメッセージを貼り付けておきます ^-^;

http://xxxx/eccube200/products/list.php?category_id=1

SELECT DISTINCT ON (price02_min, product_id) * FROM (SELECT T1.product_id, product_code_min, product_code_max, price01_min, price01_max, price02_min, price02_max, stock_min, stock_max, stock_unlimited_min, stock_unlimited_max, del_flg, status, name, comment1, comment2, comment3, main_list_comment, main_image, main_list_image, product_flag, deliv_date_id, sale_limit, point_rate, sale_unlimited, create_date, deliv_fee, rank ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id) as category_rank ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id) as category_id FROM (SELECT T0.product_id, T0.del_flg, T0.status, T0.name, T0.comment1, T0.comment2, T0.comment3, T0.main_list_comment, T0.main_image, T0.main_list_image, T0.product_flag, T0.deliv_date_id, T0.sale_limit, T0.point_rate, T0.sale_unlimited, T0.create_date, T0.deliv_fee, T00.category_id, T00.rank FROM dtb_products AS T0 LEFT JOIN dtb_product_categories AS T00 USING (product_id)) AS T1 RIGHT JOIN (SELECT product_id as product_id_sub, 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 FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub ) WHERE del_flg = 0 AND status = 1 AND category_id IN ( ?,? ,? ,? ) ORDER BY price02_min ASC, product_id ASC LIMIT 15 OFFSET 0
DB Error: syntax error

SELECT DISTINCT ON (price02_min, product_id) * FROM (SELECT T1.product_id, product_code_min, product_code_max, price01_min, price01_max, price02_min, price02_max, stock_min, stock_max, stock_unlimited_min, stock_unlimited_max, del_flg, status, name, comment1, comment2, comment3, main_list_comment, main_image, main_list_image, product_flag, deliv_date_id, sale_limit, point_rate, sale_unlimited, create_date, deliv_fee, rank ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id) as category_rank ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id) as category_id FROM (SELECT T0.product_id, T0.del_flg, T0.status, T0.name, T0.comment1, T0.comment2, T0.comment3, T0.main_list_comment, T0.main_image, T0.main_list_image, T0.product_flag, T0.deliv_date_id, T0.sale_limit, T0.point_rate, T0.sale_unlimited, T0.create_date, T0.deliv_fee, T00.category_id, T00.rank FROM dtb_products AS T0 LEFT JOIN dtb_product_categories AS T00 USING (product_id)) AS T1 RIGHT JOIN (SELECT product_id as product_id_sub, 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 FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub ) WHERE del_flg = 0 AND status = 1 AND category_id IN ( 1,'3' ,'4' ,'5' ) ORDER BY price02_min ASC, product_id ASC LIMIT 15 OFFSET 0 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON (price02_min, product_id) * FROM (SELECT T1.product_id, produc' at line 1]

/xxxxx/eccube200/html/products/list.php 34:lc_page_products_list_ex->process
/xxxxx/eccube200/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php 56:lc_page_products_list->process
/xxxxx/eccube200/data/class/pages/products/LC_Page_Products_List.php 127:lc_page_products_list_ex->lfdispproductslist
/xxxxx/eccube200/data/class/pages/products/LC_Page_Products_List.php 465:sc_query->select
/xxxxx/eccube200/data/class/SC_Query.php 67:sc_dbconn->getall
/xxxxx/eccube200/data/class/SC_DbConn.php 156:db_mysql->getall
/xxxxx/eccube200/data/module/DB/common.php 1610:db_mysql->execute
/xxxxx/eccube200/data/module/DB/common.php 959:db_mysql->simplequery
/xxxxx/eccube200/data/module/DB/mysql.php 324:db_mysql->mysqlraiseerror
/xxxxx/eccube200/data/module/DB/mysql.php 894:db_mysql->raiseerror
/xxxxx/eccube200/data/module/DB/common.php 1853:pear->raiseerror
/xxxxx/eccube200/data/module/PEAR.php 557:db_error->db_error
/xxxxx/eccube200/data/module/DB.php 893:db_error->pear_error


----------------
EC Orangeもよろしくお願いしますm(_ _

nanasess
投稿日時: 2007/11/27 16:43
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: EC-CUBE2.0.0-BETA
大河内です.

引用:

mi-yanさんは書きました:
確かに私の環境でもエラーが出ます。
SQLに問題がありそうで、メッセージも表示されているので追跡すれば解決できそうですね。
っと、今ちょっと余力がないので、表示されたメッセージを貼り付けておきます ^-^;

http://xxxx/eccube200/products/list.php?category_id=1

SELECT DISTINCT ON (price02_min, product_id) * FROM


MySQL が DISTINCT ON 句をサポートしていないのが原因ですね...
この場合, DISTINCT でマージさせるカラムは, price02_min, product_id に限らず, アスタリスクで省略しているカラムを含んでも問題ないと思われます.
DISTINCT ON ではなく, DISTINCT 句を使用し, アスタリスクで省略せずに, カラム名と ORDER BY に羅列してやれば修正できると思います.

複数カテゴリに対応した関係で, MySQL をお使いの場合は大変長く, 複雑な SQL が発行されるようになり, ご不便をおかけして申し訳ございません.

現在, 完全に検証できておりませんが, とり急ぎご報告まで.
よろしくお願い致します.
satou
投稿日時: 2007/11/28 10:29
対応状況: 解決済
EC-CUBE開発チーム
登録日: 2007/11/9
居住地: 大阪
投稿: 25
Re: EC-CUBE2.0.0-BETA
佐藤です。

下記のように修正頂くことで、正常に動作するかと思います。
ご確認ください。

/data/class/pages/products/LC_Page_Products_List.php
[384-386行目]
before:$distinct = "DISTINCT ON (price02_min, product_id)";
        $col = $distinct . " *";
        $from = "vw_products_allclass ";
after:$col = "DISTINCT price02_min, 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_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, create_date, del_flg";
       $from = "vw_products_allclass AS T1";

[392-394行目]
before:$distinct = "DISTINCT ON (create_date, product_id)";
        $col = $distinct . " *";
        $from = "vw_products_allclass ";
after:$col = "DISTINCT create_date, 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 = "vw_products_allclass AS T1";

次回アップデートで反映します。
今しばらくお待ちください。

宜しくお願いします。
kvex2004
投稿日時: 2007/11/28 13:26
対応状況: −−−
長老
登録日: 2007/10/31
居住地: 埼玉
投稿: 218
Re: EC-CUBE2.0.0-BETA
私もなんとか解決しようとSQLをいろいろいじっていたので、参考になりました。

ただ、試験運用なので、アップデートを待たせていただきます。
ありがとうございました。
mi-yan
投稿日時: 2007/11/28 13:44
対応状況: −−−
常連
登録日: 2007/6/4
居住地: 東京
投稿: 54
Re: EC-CUBE2.0.0-BETA
ありがとうございます、私の環境下(MySQL 4.1)でエラーがなくなることを確認しました。

複数カテゴリ対応大変ですよね。。。
ゲスト
投稿日時: 2007/11/28 14:55
対応状況: −−−
Re: EC-CUBE2.0.0-BETA
はじめに投稿したものです。
ありがとうございます。
エラーも無く動いています。


kvex2004
投稿日時: 2007/11/28 22:13
対応状況: −−−
長老
登録日: 2007/10/31
居住地: 埼玉
投稿: 218
Re: EC-CUBE2.0.0-BETA
やってみたのですが
テスト環境は
windows Xp
Apache 2.2.6
PHP 5.2.4
MySQL 5.0.45

メモリがオーバフローします

SELECT DISTINCT price02_min, 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_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, create_date, del_flg FROM     (SELECT T1.product_id,            product_code_min,            product_code_max,            price01_min,            price01_max,            price02_min,            price02_max,            stock_min,            stock_max,            stock_unlimited_min,            stock_unlimited_max,            del_flg,            status,            name,            comment1,            comment2,            comment3,            main_list_comment,            main_image,            main_list_image,            product_flag,            deliv_date_id,            sale_limit,            point_rate,            sale_unlimited,            create_date,            deliv_fee,            rank            ,(SELECT rank AS category_rank                FROM dtb_category AS T4               WHERE T1.category_id = T4.category_id) as category_rank            ,(SELECT category_id AS sub_category_id                 FROM dtb_category T4                WHERE T1.category_id = T4.category_id) as category_id       FROM (SELECT T0.product_id,                    T0.del_flg,                    T0.status,                    T0.name,                    T0.comment1,                    T0.comment2,                    T0.comment3,                    T0.main_list_comment,                    T0.main_image,                    T0.main_list_image,                    T0.product_flag,                    T0.deliv_date_id,                    T0.sale_limit,                    T0.point_rate,                    T0.sale_unlimited,                    T0.create_date,                    T0.deliv_fee,                    T00.category_id,                    T00.rank               FROM dtb_products AS T0          LEFT JOIN dtb_product_categories AS T00              USING (product_id)) AS T1  RIGHT JOIN (SELECT product_id as product_id_sub,                    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               FROM dtb_products_class GROUP BY product_id) AS T2                  ON T1.product_id = T2.product_id_sub             )  AS T1 WHERE del_flg = 0 AND status = 1  AND  category_id IN ( ?,? ,? ,?  )   ORDER BY price02_min ASC, product_id ASC  LIMIT 15 OFFSET 0
DB Error: unknown error

SELECT DISTINCT price02_min, 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_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, create_date, del_flg FROM     (SELECT T1.product_id,            product_code_min,            product_code_max,            price01_min,            price01_max,            price02_min,            price02_max,            stock_min,            stock_max,            stock_unlimited_min,            stock_unlimited_max,            del_flg,            status,            name,            comment1,            comment2,            comment3,            main_list_comment,            main_image,            main_list_image,            product_flag,            deliv_date_id,            sale_limit,            point_rate,            sale_unlimited,            create_date,            deliv_fee,            rank            ,(SELECT rank AS category_rank                FROM dtb_category AS T4               WHERE T1.category_id = T4.category_id) as category_rank            ,(SELECT category_id AS sub_category_id                 FROM dtb_category T4                WHERE T1.category_id = T4.category_id) as category_id       FROM (SELECT T0.product_id,                    T0.del_flg,                    T0.status,                    T0.name,                    T0.comment1,                    T0.comment2,                    T0.comment3,                    T0.main_list_comment,                    T0.main_image,                    T0.main_list_image,                    T0.product_flag,                    T0.deliv_date_id,                    T0.sale_limit,                    T0.point_rate,                    T0.sale_unlimited,                    T0.create_date,                    T0.deliv_fee,                    T00.category_id,                    T00.rank               FROM dtb_products AS T0          LEFT JOIN dtb_product_categories AS T00              USING (product_id)) AS T1  RIGHT JOIN (SELECT product_id as product_id_sub,                    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               FROM dtb_products_class GROUP BY product_id) AS T2                  ON T1.product_id = T2.product_id_sub             )  AS T1 WHERE del_flg = 0 AND status = 1  AND  category_id IN ( 1,'3' ,'4' ,'5'  )   ORDER BY price02_min ASC, product_id ASC  LIMIT 15 OFFSET 0 [nativecode=1037 ** Out of memory; restart server and try again (needed 65528 bytes)]

E:\data\html_docs\eccube2\html\products\list.php 34:LC_Page_Products_List_Ex->process
E:\data\html_docs\eccube2\data\class_extends\page_extends\products\LC_Page_Products_List_Ex.php 56:LC_Page_Products_List->process
E:\data\html_docs\eccube2\data\class\pages\products\LC_Page_Products_List.php 127:LC_Page_Products_List->lfDispProductsList
E:\data\html_docs\eccube2\data\class\pages\products\LC_Page_Products_List.php 475:SC_Query->select
E:\data\html_docs\eccube2\data\class\SC_Query.php 67:SC_DbConn->getAll
E:\data\html_docs\eccube2\data\class\SC_DbConn.php 156:DB_common->getAll
E:\data\html_docs\eccube2\data\module\DB\common.php 1610:DB_common->execute
E:\data\html_docs\eccube2\data\module\DB\common.php 959:DB_mysql->simpleQuery
E:\data\html_docs\eccube2\data\module\DB\mysql.php 324:DB_mysql->mysqlRaiseError
E:\data\html_docs\eccube2\data\module\DB\mysql.php 894:DB_common->raiseError
E:\data\html_docs\eccube2\data\module\DB\common.php 1853:PEAR->raiseError
E:\data\html_docs\eccube2\data\module\PEAR.php 557:DB_Error->DB_Error
E:\data\html_docs\eccube2\data\module\DB.php 893:PEAR_Error->PEAR_Error
nanasess
投稿日時: 2007/11/29 3:27
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: EC-CUBE2.0.0-BETA
引用:

kvex2004さんは書きました:
やってみたのですが
テスト環境は
windows Xp
Apache 2.2.6
PHP 5.2.4
MySQL 5.0.45

メモリがオーバフローします


MySQL を再起動しても駄目でしょうか.
他の方はうまく動作しているようですので, 環境をチューニングして頂くか, PostgreSQL をお試し頂ければと思います.

どうしても現在の環境で. . . というのであれば, 複数カテゴリ対応を諦めるしかないかもしれません.
kvex2004
投稿日時: 2007/11/29 11:03
対応状況: −−−
長老
登録日: 2007/10/31
居住地: 埼玉
投稿: 218
Re: EC-CUBE2.0.0-BETA
なんとかしようと思って、他のところをさわってしまっている可能性もあります。

もっとも、複数カテゴリの必要性は今のところ無いので(comuで正式運用しています)とくに問題は無いです。

次期リリース時に最初からやりなおしてみます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,952名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.