Upgrade to mysqli from mysql

Proximity

IDK?
Feb 13, 2014
673
56
Code:
<?php

    namespace XFA;
    if(!defined('IN_INDEX')) { die('Sorry, you cannot access this file.'); }
    class engine {
        private $initiated;
        private $connected;
        private $mysql;
        private $connection;

        final public function Initiate() {
            global $_CONFIG;
            if(!$this->initiated) {
                $this->setMySQL('connect', mysql_connect);
                $this->setMySQL('pconnect', mysql_pconnect);
                $this->setMysql('select_db', mysql_select_db);
                $this->setMySQL('query', mysql_query);
                $this->setMySQL('num_rows', mysql_num_rows);
                $this->setMySQL('fetch_assoc', mysql_fetch_assoc);
                $this->setMySQL('fetch_array',mysql_fetch_array);
                $this->setMySQL('result', mysql_result);
                $this->setMySQL('free_result', mysql_free_result);
                $this->setMySQL('escape_string', mysql_real_escape_string);
                $this->initiated = true;
                $this->connect($_CONFIG['mysql']['connection_type']);
            }
        }

        final public function setMySQL($key, $value) {
            $this->mysql[$key] = $value;
        }

        /*-------------------------------Manage Connection-------------------------------------*/

        final public function connect($type) {
            global $core, $_CONFIG;
            if(!$this->connected) {
                $this->connection = $this->mysql[$type]($_CONFIG['mysql']['hostname'], $_CONFIG['mysql']['username'], $_CONFIG['mysql']['password']);           
                if($this->connection) {
                    $mydatabase = $this->mysql['select_db']($_CONFIG['mysql']['database'], $this->connection);               
                    if($mydatabase)    {
                        $this->connected = true;   
                    } else {
                        $core->systemError('MySQL', 'Can not connect to Database');
                    }
                } else {
                    $core->systemError('MySQL', 'Can not connect to Host');           
                }
            }
        }
       
        final public function disconnect() {
            global $core;
            if($this->connected) {
                if($this->mysql['close']) {
                    $this->connected = false;
                } else {
                    $core->systemError('MySQL Engine', 'MySQL could not disconnect.');
                }
            }
        }

        /*-------------------------------Secure MySQL variables-------------------------------------*/

        final public function secure($var) {
            return $this->mysql['escape_string'](stripslashes(htmlspecialchars($var)));
        }   

        final public function signature($var) {
            return $this->mysql['escape_string']($var);
        }

        /*-------------------------------Manage MySQL queries-------------------------------------*/

        final public function query($sql) {
            return $this->mysql['query']($sql, $this->connection) or die(mysql_error());
        }

        final public function num_rows($sql) {
            return $this->mysql['num_rows']($this->mysql['query']($sql, $this->connection));
        }

        final public function result($sql) {
            return $this->mysql['result']($this->mysql['query']($sql, $this->connection), 0);
        }
       
        final public function free_result($sql) {
            return $this->mysql['free_result']($sql);
        }   

        final public function fetch_array($sql) {
            $query = $this->mysql['query']($sql, $this->connection);       
            $data = array();       
            while($row = $this->mysql['fetch_array']($query)) {
                $data[] = $row;
            }
            return $data;
        }

        final public function fetch_assoc($sql) {
            return $this->mysql['fetch_assoc']($this->mysql['query']($sql, $this->connection));
        }
    }

?>
 

Weasel

👄 I'd intercept me
Nov 25, 2011
4,135
2,461
Upgrading to MySQLi is basicly just putting an "i" behind all function names. Example: mysql_query becomes mysqli_query.
However, MySQLi doesn't support all functions, for example mysql_result has no MySQLi function.

I recommend upgrading to PDO too, however we can't just 'help you upgrade it than', you need to do your own research if you want to learn everything about it. You would have known upgrading MySQLi is fairly easy if you did. Don't use DevBest to get spoonfed.
 

Users who are viewing this thread

Top