Ignore:
Timestamp:
2012/01/17 16:15:39 (14 years ago)
Author:
Seasoft
Message:

2.12系へマイルストーン変更となったチケット分を差し戻し
r21376 #1582,#1526,#1449 作業を簡単にするため、本来対象外のチケット(#1526,#1449)も含めた
r21375 #1581
r21374 #797
r21373 #1583,#1526 作業を簡単にするため、本来対象外のチケット(#1526)も含めた
r21372 #1576
r21371 #1581

File:
1 edited

Legend:

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

    r21376 r21402  
    106106 
    107107    /** 
    108      * エラー判定を行う. 
     108     *  エラー判定を行う. 
    109109     * 
    110110     * @deprecated PEAR::isError() を使用して下さい 
     
    126126     * @return integer 件数 
    127127     */ 
    128     function count($table, $where = '', $arrWhereVal = array()) { 
    129         return $this->get('COUNT(*)', $table, $where, $arrWhereVal); 
    130     } 
    131  
    132     /** 
    133      * EXISTS文を実行する. 
    134      * 
    135      * @param string $table テーブル名 
    136      * @param string $where where句 
    137      * @param array $arrWhereVal プレースホルダ 
    138      * @return boolean 有無 
    139      */ 
    140     function exists($table, $where = '', $arrWhereVal = array()) { 
    141         $sql_inner = $this->getSql('*', $table, $where, $arrWhereVal); 
    142         $sql = "SELECT CASE WHEN EXISTS($sql_inner) THEN 1 ELSE 0 END"; 
    143         $res = $this->getOne($sql, $arrWhereVal); 
    144         return (bool)$res; 
     128    function count($table, $where = "", $arrWhereVal = array()) { 
     129        if(strlen($where) <= 0) { 
     130            $sqlse = "SELECT COUNT(*) FROM $table"; 
     131        } else { 
     132            $sqlse = "SELECT COUNT(*) FROM $table WHERE $where"; 
     133        } 
     134        $sqlse = $this->dbFactory->sfChangeMySQL($sqlse); 
     135        return $this->getOne($sqlse, $arrWhereVal); 
    145136    } 
    146137 
     
    279270        } 
    280271 
    281         // MySQL での不具合対応のため、一旦変数に退避 
    282         $arrRet = $affected->fetchAll($fetchmode); 
    283  
    284         // PREPAREの解放 
    285         $sth->free(); 
    286  
    287         return $arrRet; 
     272        return $affected->fetchAll($fetchmode); 
    288273    } 
    289274 
     
    469454     * @param string $table テーブル名 
    470455     * @param array $sqlval array('カラム名' => '値',...)の連想配列 
    471      * @param array $arrSql array('カラム名' => 'SQL文',...)の連想配列 
    472      * @param array $arrSqlVal SQL文の中で使用するプレースホルダ配列 
    473456     * @return 
    474457     */ 
    475     function insert($table, $sqlval, $arrSql = array(), $arrSqlVal = array()) { 
     458    function insert($table, $sqlval) { 
    476459        $strcol = ''; 
    477460        $strval = ''; 
    478461        $find = false; 
    479         $arrVal = array(); 
    480462 
    481463        if(count($sqlval) <= 0 ) return false; 
     
    488470            } else { 
    489471                $strval .= '?,'; 
    490                 $arrVal[] = $val; 
     472                $arrval[] = $val; 
    491473            } 
    492474            $find = true; 
    493475        } 
    494  
    495         foreach($arrSql as $key => $val) { 
    496             $strcol .= $key . ','; 
    497             $strval .= $val . ','; 
    498         } 
    499  
    500         $arrVal = array_merge($arrVal, $arrSqlVal); 
    501  
    502476        if(!$find) { 
    503477            return false; 
     
    508482        $sqlin = "INSERT INTO $table(" . $strcol. ") VALUES (" . $strval . ")"; 
    509483        // INSERT文の実行 
    510         $ret = $this->query($sqlin, $arrVal, false, null, MDB2_PREPARE_MANIP); 
     484        $ret = $this->query($sqlin, $arrval, false, null, MDB2_PREPARE_MANIP); 
    511485 
    512486        return $ret; 
     
    635609        } 
    636610 
    637         // MySQL での不具合対応のため、一旦変数に退避 
    638         $arrRet = $affected->fetchOne(); 
    639  
    640         // PREPAREの解放 
    641         $sth->free(); 
    642  
    643         return $arrRet; 
     611        return $affected->fetchOne(); 
    644612    } 
    645613 
     
    669637        } 
    670638 
    671         // MySQL での不具合対応のため、一旦変数に退避 
    672         $arrRet = $affected->fetchRow($fetchmode); 
    673  
    674         // PREPAREの解放 
    675         $sth->free(); 
    676  
    677         return $arrRet; 
     639        return $affected->fetchRow($fetchmode); 
    678640    } 
    679641 
     
    701663        } 
    702664 
    703         // MySQL での不具合対応のため、一旦変数に退避 
    704         $arrRet = $affected->fetchCol(); 
    705  
    706         // PREPAREの解放 
    707         $sth->free(); 
    708  
    709         return $arrRet; 
     665        return $affected->fetchCol(); 
    710666    } 
    711667 
     
    788744        } 
    789745 
    790         // PREPAREの解放 
     746        //PREPAREの解放 
    791747        $sth->free(); 
    792748 
     
    1017973        } 
    1018974        $arrRet = $result->getColumnNames(); 
    1019         // PREPAREの解放 
     975        //PREPAREの解放 
    1020976        $sth->free(); 
    1021977 
Note: See TracChangeset for help on using the changeset viewer.