Вход Регистрация
Файл: wboard/source/system/classes/db.php
Строк: 78
<?php

/**
 * Wboard
 * Provides access to the database
 * @author Screamer
 * @copyright 2013
 */

class Db extends mysqli
{

    
/**
     * @var (array)
     * Contains all errors which were occured
     */
    
protected $_debug_messages = array();

    
/**
     * Construct
     * Get connection parameters. Connect to mysql server. Setup connection charset
     * Description of connection parameters:
     * @param (string) $host     hostname
     * @param (string) $user     username
     * @param (string) $password password
     * @param (string) $db       database
     * @param (string) $charset  charset
     * @throws (Exception) Unable to connect to MySQL server
     * @return (void)
     */
    
public function __construct($host 'localhost'$user 'root'$password ''$db 'localhost'$charset 'utf8')
    {
        if (
parent::__construct($host$user$password$db) === FALSE) {
            throw new 
Exception('Unable to connect to MySQL server. Check your configuration file.');
        }
        
// Setup charset
        
$this->query("SET NAMES " $charset);
    }

    
/**
     * Analog of mysql_result()
     * @param  (string) $statement Query
     * @return (int)
     */
    
public function result($statement)
    {
        
$result $this->query($statement);
        
$data $result->fetch_row();
        
$result->free();
        return 
intval($data[0]);
    }

    
/**
     * Run Query
     * @param (string) $statement SQL statement
     * @param (int) $type Result Mode MYSQLI_USE_RESULT|MYSQLI_STORE_RESULT
     * @return (mysqli_result)
     */
    
public function query($statement$type MYSQLI_USE_RESULT)
    {
        
$result parent::query($statement$type);
        if (!empty(
$this->error)) {
            
$this->_debug_messages[] = 'Error: ' $this->errno ' ' $this->error '<br />' 'Statement: ' $statement;
        }
        return 
$result;
    }

    
/**
     * Close connection
     * @throws (Exception) Display errors if exists
     * @return (void)
     */
    
public function close()
    {
        
parent::close();
        try {
            if (!empty(
$this->_debug_messages)) {
                throw new 
Exception('<pre>DB ERROR<br />' implode('<br />--<br />'$this->_debug_messages) . '</pre>');
            }
        } catch (
Exception $e) {
            echo 
$e->getMessage();
        }
    }

}
Онлайн: 0
Реклама