Changeset 21270


Ignore:
Timestamp:
2011/10/02 04:29:39 (9 years ago)
Author:
Seasoft
Message:

#1489 (SC_Query エラートレースでプレースホルダをダンプする)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/SC_Query.php

    r21256 r21270  
    910910            $sql = isset($sth->query) ? $sth->query : ''; 
    911911            if (!$this->force_run) { 
    912                 trigger_error($this->traceError($affected, $sql), E_USER_ERROR); 
     912                trigger_error($this->traceError($affected, $sql, $arrVal), E_USER_ERROR); 
    913913            } else { 
    914                 error_log($this->traceError($affected, $sql), 3, LOG_REALFILE); 
     914                error_log($this->traceError($affected, $sql, $arrVal), 3, LOG_REALFILE); 
    915915            } 
    916916        } 
     
    925925     * @param PEAR::Error $error PEAR::Error インスタンス 
    926926     * @param string $sql エラーの発生した SQL 文 
     927     * @param array $arrVal プレースホルダ 
    927928     * @return string トレースしたエラー文字列 
    928929     */ 
    929     function traceError($error, $sql = "") { 
     930    function traceError($error, $sql = "", $arrVal = false) { 
    930931        $scheme = ''; 
    931932        if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { 
     
    939940            . "REMOTE_ADDR: " . $_SERVER['REMOTE_ADDR'] . "\n" 
    940941            . "USER_AGENT: " . $_SERVER['HTTP_USER_AGENT'] . "\n\n" 
    941             . "SQL: " . $sql . "\n\n" 
    942             . $error->getMessage() . "\n\n" 
    943             . $error->getUserInfo() . "\n\n"; 
     942            . "SQL: " . $sql . "\n\n"; 
     943        if ($arrVal !== false) { 
     944            $err .= "PlaceHolder: " . var_export($arrVal, true) . "\n\n"; 
     945        } 
     946        $err .= $error->getMessage() . "\n\n"; 
     947        $err .= $error->getUserInfo() . "\n\n"; 
    944948 
    945949        $err .= SC_Utils_Ex::sfBacktraceToString($error->getBackTrace()); 
Note: See TracChangeset for help on using the changeset viewer.