オープンソースの販売サイト構築ソフト EC-CUBE についてのメモ。

このページの内容は古い。現状のコミュニティ版では /data/class/SC_DbConn.php で行うのが適切。

実行しているSQLを取得する

/data/class/SC_Query.php

    function select($col, $table, $where = "", $arrval = array()){
        $sqlse = $this->getsql($col, $table, $where);
        // DBに依存した SQL へ変換
        $dbFactory = SC_DB_DBFactory::getInstance();
        $sqlse = $dbFactory->sfChangeMySQL($sqlse);
        $ret = $this->conn->getAll($sqlse, $arrval);
+       $this->getLastQuery(true);
        return $ret;
    }
  • これだと、SELECT のみらしい。(http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=2451&forum=10&post_id=9135#forumpost9135) そりゃそうだ。関数名からして。
    • $this->conn->getAll って、PEAR::DB の範疇なのか?
  • 他に /data/class/SC_DbConn.php にもSQL実行ロジックがあるが、使われているのか不明。
  • 要求あるなら、何かのフラグで on/off できるように実装しようかな。
    • パラメータも同時にダンプしたいこともあるなぁ。
    • 吐き出し先は、同一画面・別画面(ポップアップ)・外部ファイル・PHP(Apache?)ログ などが考えられる。
tips/getsql.txt · 最終更新: 2024/10/24 10:26 by seasoft
© 2008-2024 Seasoft.