質問 > 管理機能 > eccube管理画面の売上集計が使えません。 |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seasoft |
投稿日時: 2018/12/4 4:50
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: eccube管理画面の売上集計が使えません。 LC_Page_Admin_Total.php でプリペアドステートメントを使っていない部分があるのが原因です。(EC-CUBE のバグと認識しています。)
ただ、エラーが発生しない環境もあるようで、その辺りは不明です。
|
cohki |
投稿日時: 2013/5/16 11:46
対応状況: −−−
|
一人前 登録日: 2013/4/15 居住地: 投稿: 133 |
Re: eccube管理画面の売上集計が使えません。 引用:
エラーの行数とゆうと690行目あたりのエラーが問題でしょうか? その上あたりにdumpして確認すればいいのでしょうか? 疑問系ばかりで大変申し訳ありません。 その通りです。 確認してもし空であれば、なぜ空なのかを追っていけば必ず原因が見つかると思います。 |
tetu |
投稿日時: 2013/5/16 9:44
対応状況: −−−
|
新米 登録日: 2013/5/14 居住地: 投稿: 5 |
Re: eccube管理画面の売上集計が使えません。 エラーの行数とゆうと690行目あたりのエラーが問題でしょうか?
その上あたりにdumpして確認すればいいのでしょうか? 疑問系ばかりで大変申し訳ありません。 追記 >>redさん 申し訳ありませんこちらの説明不足でした。 現在はソース、データベースともに初期状態のままです。 初期状態のままでも上記のエラーメッセージとまったく同じエラーメッセージがでてしまう現状です。 あと、もっと早く説明すべきだったのかもしれませんが売上集計以外の機能はすべて問題なく動きます。 |
red |
投稿日時: 2013/5/15 21:45
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: eccube管理画面の売上集計が使えません。 ここまで読んでいてもよくわからないのですが、最初の状態に戻せばエラーは出なくなるのではないのでしょうか?
何か目的があってカスタマイズしたのであればその修正部分を貼って頂ければ解決できるかもしれません
|
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などで確認してデバグを行ってみてください。 |
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 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 12:47
対応状況: −−−
|
新米 登録日: 2013/5/14 居住地: 投稿: 5 |
Re: eccube管理画面の売上集計が使えません。 返信ありがとうございます。
コメントアウトについては売上集計エラー対策などを調べていろいろ試していたものを元に戻し忘れてしまっていたので書き加えさせていただきました。 結果的にコメントアウトしていてもいなくてもエラー内容が変わっていなかったので現在はデフォルトの状態です。 $arrWhereValについてなのですがSC_Query.phpあたりのファイルを確認していけばいいのでしょうか? |
cohki |
投稿日時: 2013/5/15 11:06
対応状況: −−−
|
一人前 登録日: 2013/4/15 居住地: 投稿: 133 |
Re: eccube管理画面の売上集計が使えません。 横槍ですみません。
プレースホルダ($arrWhereVal)の中身がおかしいです。 例えば、WHERE = ? で「?」の部分を動的にプレースホルダで指定するべきなのに、できていないというのがこれにあたります。 $arrWhereValの中身をチェックし、追うべきです。 あとはなぜコメントアウトしたのかは回答しないと説明がつかないかもしれません。 |
tetu |
投稿日時: 2013/5/15 10:20
対応状況: −−−
|
新米 登録日: 2013/5/14 居住地: 投稿: 5 |
Re: eccube管理画面の売上集計が使えません。 返信ありがとうございます。
すいませんなにぶんEC-CUBEを触るのが初めてなもので、手探り状態でここを参考にしていました。 whereがおかしいのゆうのはどのあたりがおかしいかわかりますか? 正直自分ではお手上げじょうたいです・・・ |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |