質問 > フロント機能 > SQL文の生成箇所 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
acehikaru |
投稿日時: 2008/7/4 13:49
対応状況: −−−
|
半人前 登録日: 2008/6/25 居住地: 投稿: 18 |
SQL文の生成箇所 すみません、質問です。
EC-CUBEの内部CLASSでSQLのクエリを実行しているのかと思うのですが、この際に実行しているSQL文をエラーログかどこかにだしたいと思ってます。 そこでsqlを生成してる箇所に「error_log()」をかけようと思ったのですが、SQLの生成箇所をみつけることができませんでした… どなたかご存知の方いればお教えください; |
zon |
投稿日時: 2008/7/5 10:10
対応状況: −−−
|
半人前 登録日: 2008/5/27 居住地: 投稿: 27 |
Re: SQL文の生成箇所 /data/logs/site.log
にSQLのエラーログがあります。 運用していないのなら、 「基本情報管理」→「パラメータ設定」の DEBUG_MODE を true にすれば、 HTMLの下の方に吐かれるようになるので テストするときは便利ですよ。 |
acehikaru |
投稿日時: 2008/7/8 11:18
対応状況: −−−
|
半人前 登録日: 2008/6/25 居住地: 投稿: 18 |
Re: SQL文の生成箇所 zonさん
回答ありがとうございます。 返信おくれてすいません。 >/data/logs/site.log これは確認したんですが、どうもSQLらしきものが見つからなくて… SQLはエラーしかログに出さないんでしょうか?もしくは設定の問題か… >DEBUG_MODE を true cakePHPみたいですね。 初歩的なところを見逃していたみたいで、すみません。 この方法で試したいと思います。 |
zon |
投稿日時: 2008/7/10 1:08
対応状況: −−−
|
半人前 登録日: 2008/5/27 居住地: 投稿: 27 |
Re: SQL文の生成箇所 質問の意図を読み間違ってました。すみません。
SQL文を生成している場所は、Pear の DB だと思います。 EC-CUBE だと、/date/module/ 配下にあります。 ただ、module 配下は手を入れるべきではないと思うので、 /data/class/配下の SC_DbConn か、SC_Query が持っている DBのオブジェクトのSQL文を取得すれば出来ると思います。 ざっと目を通しただけなので、実際にあっているかわかりませんが、 DB_result の query ってメンバがSQL文をもっているのでは ないかと予想。 |
acehikaru |
投稿日時: 2008/7/10 14:21
対応状況: −−−
|
半人前 登録日: 2008/6/25 居住地: 投稿: 18 |
Re: SQL文の生成箇所 >zonさん
毎度返信ありがとうございます。 DEBUG_MODEのtrueでもエラーのみ出力みたいですね 引用: SQL文を生成している場所は、Pear の DB だと思います。 上記了解です。 DB_resultの値も除いてみますね。 |
seasoft |
投稿日時: 2008/7/10 15:48
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: SQL文の生成箇所 下記で、いかがでしょうか?
実行しているSQLを取得する http://seasoft.jp1.cx/ec/tips/getsql
|
acehikaru |
投稿日時: 2008/7/10 19:06
対応状況: −−−
|
半人前 登録日: 2008/6/25 居住地: 投稿: 18 |
Re: SQL文の生成箇所 >seasoftさん
まとめていただきましてありがとうございます。 いたるところでSQLが出るようになりましたw printじゃなくてlog書き込みの処理にかえましたが、 lastqueryだとスマートにまとまっていいですね。 |
zon |
投稿日時: 2008/7/10 19:34
対応状況: −−−
|
半人前 登録日: 2008/5/27 居住地: 投稿: 27 |
Re: SQL文の生成箇所 SC_Query が SQL を取得するメソッドを持ってたんですね。
select()内 だけだと、select() を使わない場合は、SQL文が表示されなくなりそうですね。 SC_Query で SQL文を実行している後の全てに入れないといけないかも? あと、せっかくだから DEBUG_MODE をうまく使って $this->getLastQuery(DEBUG_MODE); とかして、デバッグモードじゃないときは Log に残すとかに改造すれば、使い勝手がよさそうですがどうですか? |
acehikaru |
投稿日時: 2008/7/14 21:26
対応状況: −−−
|
半人前 登録日: 2008/6/25 居住地: 投稿: 18 |
Re: SQL文の生成箇所 >zonさん
返信遅れてすいません。 とりあえずSELECT文だけで僕は間に合ったんですが、UPDATEとかも見れるとべんりですね。 クエリ実行した直後に必ず通るロジックがあれば一箇所でいいんですけど…;
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |