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

Changeset 8278


Ignore:
Timestamp:
Sep 10, 2008, 8:01:47 PM (12 years ago)
Author:
shingo
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/stable-2.12.x/webapp/lib/OpenPNE/DB.php

    r6527 r8278  
    227227    /**
    228228     * @param mixed $in
     229     * @param bool $is_escape_placeholder
    229230     * @return string
    230231     * @see PEAR::DB::quoteSmart
    231232     */
    232     function quote($in)
    233     {
    234         return $this->db->quoteSmart($in);
     233    function quote($in, $is_escape_placeholder = false)
     234    {
     235        $result = $this->db->quoteSmart($in);
     236        if ($is_escape_placeholder) {
     237            $search  = array('?', '&', '!');
     238            $replace = array('\?', '\&', '\!');
     239            $result = str_replace($search, $replace, $result);
     240        }
     241        return $result;
    235242    }
    236243
     
    267274                $_where .= ' AND ';
    268275            }
    269             $_where .= $key . ' = ' . $this->quote($value);
     276            $_where .= $key . ' = ' . $this->quote($value, true);
    270277        }
    271278        return $_where;
Note: See TracChangeset for help on using the changeset viewer.