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

Changeset 3641


Ignore:
Timestamp:
Aug 6, 2007, 10:52:37 PM (12 years ago)
Author:
ebihara
Message:

#1013:OpenPNE_DBとOpenPNE_DB_Writerをadodb用に書き換え

Location:
OpenPNE/branches/work/ebihara/prj_sysadmin/webapp/lib/OpenPNE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ebihara/prj_sysadmin/webapp/lib/OpenPNE/DB.php

    r3605 r3641  
    55 */
    66
    7 // PEAR::DB依存
    87require_once 'adodb/adodb.inc.php';
    9 require_once 'adodb/adodb-pear.inc.php';
    108
    119/**
    12  * OpenPNE_DB (PEAR::DB依存)
     10 * OpenPNE_DB
    1311 */
    1412class OpenPNE_DB
     
    2321    function OpenPNE_DB($dsn)
    2422    {
     23        if (is_array($dsn)) {
     24            $dsn = $dsn['phptype'] . '://' . $dsn['username'] . ':'
     25                . $dsn['password'] . '@' . $dsn['hostspec'] . '/'
     26                . $dsn['database'];
     27        }
     28
    2529        $this->dsn = $dsn;
    2630        $this->_connect();
     
    4145    function _connect()
    4246    {
    43         $this->db =& DB::connect($this->dsn);
    44         if (DB::isError($this->db)) {
    45             openpne_display_error($this->db->getMessage());
    46             exit;
    47         }
    48 
    49         $this->db->setFetchMode(DB_FETCHMODE_ASSOC);
     47        $this->db =& NewADOConnection($this->dsn);
     48        $GLOBALS['ADODB_FORCE_TYPE'] = ADODB_FORCE_IGNORE;
     49        $this->db->setFetchMode(ADODB_FETCH_ASSOC);
    5050        $this->db->query('SET NAMES utf8');
    5151    }
     
    5454    {
    5555        $res =& $this->db->getOne($sql, $params);
    56         if (DB::isError($res)) {
     56        if ($res === false) {
    5757            return null;
    5858        }
     
    6363    {
    6464        $recordset =& $this->db->SelectLimit($sql, 1, 0, $params);
    65         $res =& $recordset->getRows($sql, $params);
    66         if (DB::isError($res)) {
     65        $res =& $recordset->FetchRow();
     66        if ($res === false) {
    6767            return array();
    6868        }
     
    7272    function get_col($sql, $params = array())
    7373    {
    74         $res =& $this->db->getCol($sql, 0, $params);
    75         if (DB::isError($res)) {
     74        $res =& $this->db->getCol($sql, $params);
     75        if ($res === false) {
    7676            return array();
    7777        }
     
    8181    function get_col_limit($sql, $from, $count, $params = array())
    8282    {
    83         $sql = $this->db->modifyLimitQuery($sql, intval($from), intval($count), $params);
    84         return $this->get_col($sql, $params);
     83        $recordset =& $this->db->SelectLimit($sql, intval($count), intval($from), $params);
     84        $res = array();
     85        while (!$recordset->EOF) {
     86            $res[] = array_shift($recordset->fields);
     87            $recordset->MoveNext();
     88        }
     89        return $res;
    8590    }
    8691
     
    9398    function get_assoc($sql, $params = array())
    9499    {
    95         $res =& $this->db->getAssoc($sql, false, $params);
    96         if (DB::isError($res)) {
     100        $res =& $this->db->getAssoc($sql, $params);
     101        if ($res === false) {
    97102            return array();
    98103        }
     
    102107    function get_assoc_limit($sql, $from, $count, $params = array())
    103108    {
    104         $sql = $this->db->modifyLimitQuery($sql, intval($from), intval($count), $params);
    105         return $this->get_assoc($sql, $params);
     109        $recordset =& $this->db->SelectLimit($sql, intval($count), intval($from), $params);
     110        $res =& $recordset->GetAssoc();
     111        return $res;
    106112    }
    107113
     
    109115    {
    110116        $res =& $this->db->getAll($sql, $params);
    111         if (DB::isError($res)) {
     117        if ($res === false) {
    112118            return array();
    113119        }
     
    117123    function get_all_limit($sql, $from, $count, $params = array())
    118124    {
    119         $sql = $this->db->modifyLimitQuery($sql, intval($from), intval($count), $params);
    120         return $this->get_all($sql, $params);
     125        $recordset =& $this->db->SelectLimit($sql, intval($count), intval($from), $params);
     126        $res =& $recordset->getAll();
     127        return $res;
    121128    }
    122129
     
    129136    function quote($in)
    130137    {
    131         return $this->db->quoteSmart($in);
     138        return $this->db->Quote($in);
    132139    }
    133140
  • OpenPNE/branches/work/ebihara/prj_sysadmin/webapp/lib/OpenPNE/DB/Writer.php

    r1856 r3641  
    2626        }
    2727
    28         $res = $this->db->autoExecute($table, $fields_values, DB_AUTOQUERY_INSERT);
    29         if (DB::isError($res)) {
     28        $res = $this->db->autoExecute($table, $fields_values, 'INSERT');
     29        if ($res === false) {
    3030            return false;
    3131        }
     
    5454    {
    5555        $where = $this->makeWhereClause($where);
    56         $res = $this->db->autoExecute($table, $fields_values, DB_AUTOQUERY_UPDATE, $where);
    57         if (DB::isError($res)) {
     56        $res = $this->db->autoExecute($table, $fields_values, 'UPDATE', $where);
     57        if ($res === false) {
    5858            return false;
    5959        }
    60         return true;
     60        return $res;
    6161    }
    6262
    6363    function affectedRows()
    6464    {
    65         return $this->db->affectedRows();
     65        return $this->db->Affected_Rows();
    6666    }
    6767}
Note: See TracChangeset for help on using the changeset viewer.