Changeset 196

Show
Ignore:
Timestamp:
06/11/2007 04:08:46 PM (19 months ago)
Author:
Shadowhand
Message:

Further fixes on #27, changed _set_charset() to set_charset(), and changed it's location in the mysql, mysqli, and postgre driver files, moved the set_charset() call to initialize() in DB_driver.php, small cleanups on whitespace and replacing double quotes with single quotes.

Location:
trunk/system/database
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/system/database/DB.php

    r180 r196  
    8080        $driver = 'CI_DB_'.$params['dbdriver'].'_driver'; 
    8181        $DB =& new $driver($params); 
    82          
    83         // Set the charachter set if config option is set 
    84         if ($params['charset'] != FALSE) 
    85         { 
    86                 $DB->_set_charset($params['charset']); 
    87         } 
    88          
     82 
    8983        return $DB; 
    9084} 
  • trunk/system/database/DB_driver.php

    r183 r196  
    4545        var $dbprefix       = ''; 
    4646        var $port           = ''; 
     47        var $charset        = ''; 
    4748        var $pconnect       = FALSE; 
    4849        var $conn_id        = FALSE; 
     
    6364        var $CACHE; // The cache class object 
    6465 
    65  
    6666        // These are use with Oracle 
    6767        var $stmt_id; 
     
    6969        var $limit_used; 
    7070 
    71  
    72  
    7371        /** 
    7472         * Constructor.  Accepts one parameter containing the database 
     
    9189 
    9290        /** 
    93          * Initialize Database Settings 
    94          * 
    95          * @access      private Called by the constructor 
     91         * Initialize Database Settings, called by the constructor 
     92         * 
     93         * @access      private 
    9694         * @param       mixed 
    9795         * @return      void 
     
    10199                if (is_array($params)) 
    102100                { 
    103                         $defaults = array( 
    104                                                                 'hostname'      => '', 
    105                                                                 'username'      => '', 
    106                                                                 'password'      => '', 
    107                                                                 'database'      => '', 
    108                                                                 'conn_id'       => FALSE, 
    109                                                                 'dbdriver'      => 'mysql', 
    110                                                                 'dbprefix'      => '', 
    111                                                                 'port'          => '', 
    112                                                                 'pconnect'      => FALSE, 
    113                                                                 'db_debug'      => FALSE, 
    114                                                                 'cachedir'      => '', 
    115                                                                 'cache_on'      => FALSE 
    116                                                         ); 
    117  
    118                         foreach ($defaults as $key => $val) 
    119                         { 
    120                                 $this->$key = ( ! isset($params[$key])) ? $val : $params[$key]; 
     101                        $params += array 
     102                        ( 
     103                                'hostname' => '', 
     104                                'username' => '', 
     105                                'password' => '', 
     106                                'database' => '', 
     107                                'conn_id'  => FALSE, 
     108                                'dbdriver' => 'mysql', 
     109                                'dbprefix' => '', 
     110                                'port'     => '', 
     111                                'pconnect' => FALSE, 
     112                                'db_debug' => FALSE, 
     113                                'cachedir' => '', 
     114                                'cache_on' => FALSE, 
     115                                'charset'  => '' 
     116                        ); 
     117 
     118                        foreach ($params as $key => $val) 
     119                        { 
     120                                $this->$key = $val; 
    121121                        } 
    122122                } 
     
    176176                        } 
    177177                } 
     178 
     179                // Set the character set 
     180                $this->set_charset(); 
    178181 
    179182                return TRUE; 
  • trunk/system/database/drivers/mysql/mysql_driver.php

    r186 r196  
    8585 
    8686        /** 
     87         * Set database charset 
     88         * 
     89         * @access public 
     90         * @return bool 
     91         */ 
     92        function set_charset() 
     93        { 
     94                if ($this->charset != '') 
     95                { 
     96                        return $this->simple_query("SET NAMES '" . $this->charset . "'"); 
     97                } 
     98                else 
     99                { 
     100                        return TRUE; 
     101                } 
     102        } 
     103 
     104        // -------------------------------------------------------------------- 
     105 
     106        /** 
    87107         * Version number query string 
    88108         * 
     
    92112        function _version() 
    93113        { 
    94                 return "SELECT version() AS ver"; 
     114                return 'SELECT version() AS ver'; 
    95115        } 
    96116 
     
    471491        } 
    472492 
    473         /** 
    474          * Set Charset 
    475          * 
    476          * @access      public 
    477          * @return      bool 
    478          */ 
    479         function _set_charset($charset) 
    480         { 
    481                 $this->query("SET NAMES '" . $charset . "'"); 
    482                  
    483                 //$query = $this->query("show variables like 'char%'"); 
    484                 //echo "<pre>" . print_r($query->result(), true) . "</pre>"; die; 
    485                  
    486                 return true; 
    487         } 
    488493} 
    489494 
  • trunk/system/database/drivers/mysqli/mysqli_driver.php

    r186 r196  
    8787 
    8888        /** 
     89         * Set database charset 
     90         * 
     91         * @access public 
     92         * @return bool 
     93         */ 
     94        function set_charset() 
     95        { 
     96                if ($this->charset != '') 
     97                { 
     98                        return @mysqli_set_charset($this->conn_id, $this->charset); 
     99                } 
     100                else 
     101                { 
     102                        return TRUE; 
     103                } 
     104        } 
     105 
     106        // -------------------------------------------------------------------- 
     107 
     108        /** 
    89109         * Version number query string 
    90110         * 
     
    474494                @mysqli_close($conn_id); 
    475495        } 
    476          
    477         /** 
    478          * Set Charset 
    479          * 
    480          * @access      public 
    481          * @return      bool 
    482          */ 
    483         function _set_charset($charset) 
    484         { 
    485                 $this->query("SET NAMES '" . $charset . "'"); 
    486                  
    487                 //$query = $this->query("show variables like 'char%'"); 
    488                 //echo "<pre>" . print_r($query->result(), true) . "</pre>"; die; 
    489                  
    490                 return true; 
    491         } 
    492496 
    493497} 
    494          
     498 
    495499?> 
  • trunk/system/database/drivers/postgre/postgre_driver.php

    r186 r196  
    8383 
    8484        /** 
     85         * Set database charset 
     86         * 
     87         * @access public 
     88         * @return bool 
     89         */ 
     90        function set_charset() 
     91        { 
     92                if ($this->charset != '') 
     93                { 
     94                        return $this->simple_query("SET NAMES '" . $this->charset . "'"); 
     95                } 
     96                else 
     97                { 
     98                        return TRUE; 
     99                } 
     100        } 
     101 
     102        // -------------------------------------------------------------------- 
     103 
     104        /** 
    85105         * Version number query string 
    86106         * 
     
    487507        } 
    488508 
    489         /** 
    490          * Set Charset 
    491          * 
    492          * @access      public 
    493          * @return      bool 
    494          */ 
    495         function _set_charset($charset) 
    496         { 
    497                 $this->query("SET NAMES '" . $charset . "'"); 
    498                  
    499                 //$query = $this->query("show variables like 'char%'"); 
    500                 //echo "<pre>" . print_r($query->result(), true) . "</pre>"; die; 
    501                  
    502                 return true; 
    503         } 
    504509} 
    505510