ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 8279


Ignore:
Timestamp:
Sep 10, 2008, 8:17:41 PM (11 years ago)
Author:
shingo
Message:

#2995:OpenPNE_DB::update() の第三引数に、値に ?, !, & のいずれかを含む文字列が設定された要素が存在する連想配列を指定した場合、 DB_Error が発生す

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/webapp/lib/OpenPNE/DB.php

    r8193 r8279  
    229229    /**
    230230     * @param mixed $in
     231     * @param bool $is_escape_placeholder
    231232     * @return string
    232233     * @see PEAR::DB::quoteSmart
    233234     */
    234     function quote($in)
    235     {
    236         return $this->db->quoteSmart($in);
     235    function quote($in, $is_escape_placeholder = false)
     236    {
     237        $result = $this->db->quoteSmart($in);
     238        if ($is_escape_placeholder) {
     239            $search  = array('?', '&', '!');
     240            $replace = array('\?', '\&', '\!');
     241            $result = str_replace($search, $replace, $result);
     242        }
     243        return $result;
    237244    }
    238245
     
    269276                $_where .= ' AND ';
    270277            }
    271             $_where .= $key . ' = ' . $this->quote($value);
     278            $_where .= $key . ' = ' . $this->quote($value, true);
    272279        }
    273280        return $_where;
Note: See TracChangeset for help on using the changeset viewer.