質問 > 管理機能 > 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 居住地: 東京都 投稿: 1570 |
Re: eccube管理画面の売上集計が使えません。 157行目と158行目の文をなぜコメントアウトしたのでしょうか?
Unable to bind to missing placeholderというエラーメッセージですので、where句がおかしくなっているようです
|
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);を 変数を入れ替えても内容が変わらなければ(恐らく全て空?) エラーは変わりません。 エラーにソースファイル名と行数が表示されていると思います。 その部分の、selectの引数4つ目の$arrVal or $arrWhereValの中身をvar_dumpなどで確認してデバグを行ってみてください。 |
red |
投稿日時: 2013/5/15 21:45
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: eccube管理画面の売上集計が使えません。 ここまで読んでいてもよくわからないのですが、最初の状態に戻せばエラーは出なくなるのではないのでしょうか?
何か目的があってカスタマイズしたのであればその修正部分を貼って頂ければ解決できるかもしれません
|
tetu |
投稿日時: 2013/5/16 9:44
対応状況: −−−
|
新米 登録日: 2013/5/14 居住地: 投稿: 5 |
Re: eccube管理画面の売上集計が使えません。 エラーの行数とゆうと690行目あたりのエラーが問題でしょうか?
その上あたりにdumpして確認すればいいのでしょうか? 疑問系ばかりで大変申し訳ありません。 追記 >>redさん 申し訳ありませんこちらの説明不足でした。 現在はソース、データベースともに初期状態のままです。 初期状態のままでも上記のエラーメッセージとまったく同じエラーメッセージがでてしまう現状です。 あと、もっと早く説明すべきだったのかもしれませんが売上集計以外の機能はすべて問題なく動きます。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |