バージョン選択

フォーラム

メニュー

オンライン状況

82 人のユーザが現在オンラインです。 (57 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 81
be-s もっと...

サイト内検索

質問 > 管理機能 > eccube管理画面の売上集計が使えません。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tetu
投稿日時: 2013/5/14 17:05
対応状況: −−−
新米
登録日: 2013/5/14
居住地:
投稿: 5
eccube管理画面の売上集計が使えません。
eccubeの売上集計のシステムエラーがとれません。
いくつかここの投稿を参考にさせてもらったのですがエラーがとれませんでした。

エラー内容は下記です。*LC_Page_Admin_Total.phpの157行目と158行目の文をコメントアウトした時のエラーメッセージです。
▼▼▼ エラーメッセージ ▼▼▼
https://192.168.1.143/eccube/html/admin/total/?

SERVER_ADDR: 192.168.1.143
REMOTE_ADDR: 192.168.1.107
USER_AGENT: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0

SQL: PREPARE mdb2_statement_mysql_3fe343538685808fc3aea8499175f7959f5cf605b FROM 'SELECT date_format(create_date, \'%Y-%m-%d\') AS str_date, COUNT(order_id) AS total_order, SUM(CASE WHEN order_sex = 1 THEN 1 ELSE 0 END) AS men, SUM(CASE WHEN order_sex = 2 THEN 1 ELSE 0 END) AS women, SUM(CASE WHEN customer_id <> 0 AND order_sex = 1 THEN 1 ELSE 0 END) AS men_member, SUM(CASE WHEN customer_id <> 0 AND order_sex = 2 THEN 1 ELSE 0 END) AS women_member, SUM(CASE WHEN customer_id = 0 AND order_sex = 1 THEN 1 ELSE 0 END) AS men_nonmember, SUM(CASE WHEN customer_id = 0 AND order_sex = 2 THEN 1 ELSE 0 END) AS women_nonmember, SUM(total) AS total, AVG(total) AS total_average FROM dtb_order WHERE create_date >= \'2013/5/1 00??\' AND create_date < date(\'2013/06/01\') AND del_flg = 0 AND status <> 3 GROUP BY str_date ORDER BY str_date '

PlaceHolder: array (
)

MDB2 Error: not found

[Error message: Unable to bind to missing placeholder: 00]


/var/www/html/eccube/html/admin/total/index.php 34:LC_Page_Admin_Total_Ex->process
/var/www/html/eccube/data/class_extends/page_extends/admin/total/LC_Page_Admin_Total_Ex.php 56:LC_Page_Admin_Total->process
/var/www/html/eccube/data/class/pages/admin/total/LC_Page_Admin_Total.php 95:LC_Page_Admin_Total->action
/var/www/html/eccube/data/class/pages/admin/total/LC_Page_Admin_Total.php 139:call_user_func_array
:LC_Page_Admin_Total->lfGetOrderTerm
/var/www/html/eccube/data/class/pages/admin/total/LC_Page_Admin_Total.php 690:SC_Query->select
/var/www/html/eccube/data/class/SC_Query.php 150:SC_Query->getAll
/var/www/html/eccube/data/class/SC_Query.php 267:SC_Query->execute
/var/www/html/eccube/data/class/SC_Query.php 894:MDB2_Statement_Common->execute
/var/www/html/eccube/data/module/MDB2.php 4152:MDB2_Statement_mysql->_execute
/var/www/html/eccube/data/module/MDB2/Driver/mysql.php 1618:MDB2_Driver_Common->raiseError
/var/www/html/eccube/data/module/MDB2.php 1497:PEAR->raiseError
/var/www/html/eccube/data/module/PEAR.php 557:MDB2_Error->MDB2_Error
/var/www/html/eccube/data/module/MDB2.php 1009:PEAR_Error->PEAR_Error
▲▲▲ エラーメッセージ ▲▲▲

システムは下記です
EC-CUBE 2.11.4
サーバーOS Linux tetu 2.6.32-358.2.1.el6.i686 #1 SMP Tue Mar 12 21:42:46 UTC 2013 i686
DBサーバー MySQL 5.5.30
WEBサーバー Apache
PHP 5.4.12 (Core, date, ereg, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard, shmop, SimpleXML, sockets, mbstring, tokenizer, xml, apache2handler, curl, fileinfo, json, exif, mcrypt, mysql, mysqli, PDO, pdo_mysql, pdo_sqlite, Phar, sqlite3, zip, mhash)
GD 無効

宜しくお願いします。
red
投稿日時: 2013/5/14 19:20
対応状況: −−−
登録日: 2010/2/15
居住地:
投稿: 1199
Re: eccube管理画面の売上集計が使えません。
157行目と158行目の文をなぜコメントアウトしたのでしょうか?
Unable to bind to missing placeholderというエラーメッセージですので、where句がおかしくなっているようです


----------------
EC-CUBEのカスタマイズ承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

tetu
投稿日時: 2013/5/15 10:20
対応状況: −−−
新米
登録日: 2013/5/14
居住地:
投稿: 5
Re: eccube管理画面の売上集計が使えません。
返信ありがとうございます。

すいませんなにぶんEC-CUBEを触るのが初めてなもので、手探り状態でここを参考にしていました。

whereがおかしいのゆうのはどのあたりがおかしいかわかりますか?
正直自分ではお手上げじょうたいです・・・
cohki
投稿日時: 2013/5/15 11:06
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: eccube管理画面の売上集計が使えません。
横槍ですみません。

プレースホルダ($arrWhereVal)の中身がおかしいです。

例えば、WHERE = ? で「?」の部分を動的にプレースホルダで指定するべきなのに、できていないというのがこれにあたります。

$arrWhereValの中身をチェックし、追うべきです。

あとはなぜコメントアウトしたのかは回答しないと説明がつかないかもしれません。
tetu
投稿日時: 2013/5/15 12:47
対応状況: −−−
新米
登録日: 2013/5/14
居住地:
投稿: 5
Re: eccube管理画面の売上集計が使えません。
返信ありがとうございます。

コメントアウトについては売上集計エラー対策などを調べていろいろ試していたものを元に戻し忘れてしまっていたので書き加えさせていただきました。

結果的にコメントアウトしていてもいなくてもエラー内容が変わっていなかったので現在はデフォルトの状態です。

$arrWhereValについてなのですがSC_Query.phpあたりのファイルを確認していけばいいのでしょうか?
cohki
投稿日時: 2013/5/15 13:13
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: eccube管理画面の売上集計が使えません。
引用:
コメントアウトについては売上集計エラー対策などを調べていろいろ試していたものを元に戻し忘れてしまっていたので書き加えさせていただきました。 結果的にコメントアウトしていてもいなくてもエラー内容が変わっていなかったので現在はデフォルトの状態です。


承知しました。
この部分はひとまずスルーで良いですね。

プレースホルダのデバッグですが、SC_Query.php内でチェックすると
様々な箇所から頻繁にこの箇所が呼ばれているため特定できず推奨しません。

LC_Page_Admin_Total.php のlfGetOrderTermが該当メソッドでしょうか?
こちらの

$objQuery->select($col, 'dtb_order', $where, $arrWhereVal);

に引数指定されている$arrWhereValをチェックすれば良いと思います。
tetu
投稿日時: 2013/5/15 17:16
対応状況: −−−
新米
登録日: 2013/5/14
居住地:
投稿: 5
Re: eccube管理画面の売上集計が使えません。
LC_Page_Admin_Total.phpで$arrWhereValを検索したところヒットしませんでした。

$arrTotalResults = $objQuery->select($col, $from, $where, $arrval);

のような文がありましたが、ここの$arrvalが$arrWhereValの代替になっているようです。

SC_Query.phpでは$arrWhereValがヒットしていたのでそもそもここの変数名が違っているのが問題なのでしょうか?

ほかにも

$arrTotalResults = $objQuery->select($col, 'dtb_order', $where);

のような部分もありました。


追記

$arrTotalResults = $objQuery->select($col, 'dtb_order', $where);を

$arrTotalResults = $objQuery->select($col, 'dtb_order', $where,$arrWhereVal);

$arrTotalResults = $objQuery->select($col, 'dtb_order', $where,$arrval);

にして実行したのですが両方ともエラー内容が変わりませんでした。
見当違いでしたら大変申し訳ありません。
cohki
投稿日時: 2013/5/15 18:39
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: eccube管理画面の売上集計が使えません。
良く見ると2.11系でしたね。。

手元の2.12系で確認していましたので、変数名が多少変わってもおかしくはありません。
失礼しました。

とはいえ、処理的には何ら変わりません。

引用:
$arrTotalResults = $objQuery->select($col, 'dtb_order', $where);を
$arrTotalResults = $objQuery->select($col, 'dtb_order',$where,$arrWhereVal);
$arrTotalResults = $objQuery->select($col, 'dtb_order', $where,$arrval);


変数を入れ替えても内容が変わらなければ(恐らく全て空?)
エラーは変わりません。
エラーにソースファイル名と行数が表示されていると思います。
その部分の、selectの引数4つ目の$arrVal or $arrWhereValの中身をvar_dumpなどで確認してデバグを行ってみてください。

red
投稿日時: 2013/5/15 21:45
対応状況: −−−
登録日: 2010/2/15
居住地:
投稿: 1199
Re: eccube管理画面の売上集計が使えません。
ここまで読んでいてもよくわからないのですが、最初の状態に戻せばエラーは出なくなるのではないのでしょうか?
何か目的があってカスタマイズしたのであればその修正部分を貼って頂ければ解決できるかもしれません


----------------
EC-CUBEのカスタマイズ承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

tetu
投稿日時: 2013/5/16 9:44
対応状況: −−−
新米
登録日: 2013/5/14
居住地:
投稿: 5
Re: eccube管理画面の売上集計が使えません。
エラーの行数とゆうと690行目あたりのエラーが問題でしょうか?

その上あたりにdumpして確認すればいいのでしょうか?

疑問系ばかりで大変申し訳ありません。


追記

>>redさん

申し訳ありませんこちらの説明不足でした。

現在はソース、データベースともに初期状態のままです。

初期状態のままでも上記のエラーメッセージとまったく同じエラーメッセージがでてしまう現状です。

あと、もっと早く説明すべきだったのかもしれませんが売上集計以外の機能はすべて問題なく動きます。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は36,325名です
総投稿数は88,546件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1857
4
yuh
1524
5
468
1315
6
red
1199
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
667
13 karin 656
14 sumida 641
15
h_tanaka
637
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.