Uname: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
Software: Apache
PHP version: 5.6.40 [ PHP INFO ] PHP os: Linux
Server Ip: 217.160.0.194
Your Ip: 216.73.216.203
User: u72294154 (9179942) | Group: ftpusers (600)
Safe Mode: OFF
Disable Function:
NONE

name : __bbdd.php
<?php
/**
 * 
 ************************************************************************************** 
 * 14/04/2010
 * ARCHIVO PARA CONEXION BBDD
 *
 * 01/09/2017 - Víctor Velasco
 * Cambios de conexión
 ************************************************************************************** 
 * 
 */
/*
if (empty($MYSQL_LINK)) {
	$MYSQL_LINK=mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or die(mysql_error());
	mysql_select_db($MYSQL_DB) or die(mysql_error());
	@mysql_query("SET NAMES 'utf8'"); // Evita los problemas con como se ve los caracteres no-ascii introducidos desde formulario y el phpMyAdmin

}
*/
/**
 * Gestiona con OOP la conexión a base de datos
 *
 * @author Víctor Velasco <v.velasco@interactivaclic.com>
 * @see  https://www.binpress.com/tutorial/using-php-with-mysql-the-right-way/17
 */
class Database {
    protected static $_link;
    public $last_result;

    /**
     * Conecta
     * 
     * @return bool false si falla / mysqli MySQLi object si va bien
     */
    public function connect() {
    	global $MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD,$MYSQL_DB;
        if (!isset(self::$_link)) {
            self::$_link = new mysqli($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD,$MYSQL_DB);
        }

        if (self::$_link === false) {
            return false;
        }
        return self::$_link;
    }

    /**
     * Consulta
     * @param $query Consulta SQL
     * @return mixed El resultado de la función mysqli::query()
     */
    public function query($query) {
        if ($_link = $this->connect()) {
            $this->last_result = $_link->query($query);
            return $this->last_result;
        } else {
            return false;
        }
    }

    public function insert_id() {
        if ($_link = $this->connect()) {
            return $_link->insert_id;
        } else {
            return false;
        }
    }

    public function num_rows($result = false) {
        if (!$result) {
            $result = $this->last_result;
        }
        return $result ? $result->num_rows : 0;
    }

    public function has_results($result = false) {
    	if (!$result) {
    		$result = $this->last_result;
    	}
    	return $result && $this->num_rows($result) > 0;
    }

    public function fetchColumn($result = false, $column = 0) {
    	if (!$result) {
    		$result = $this->last_result;
    	}
        if (!$result) return false;
    	$row = $result->fetch_row();
    	if (!$row) return false;
    	return $row[$column];
    }

 	public function fetch($result = false) {
    	if (!$result) {
    		$result = $this->last_result;
    	}
 		return $result->fetch_assoc();
 	}

    public function fetch_all($result = false) {
    	if (!$result) {
    		$result = $this->last_result;
    	}
        $rows = array();
        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }
        return $rows;
    }

    /**
     * Devuelve el último error que se ha generado
     * @return string Mensaje de error de la base de datos
     */
    public function error() {
        if ($_link = $this->connect()) {
            return $_link->error;
        } else {
            return false;
        }
    }

    /**
     * Escapa e introduce entre comillas los valores a introducir en la base de datos
     * @param string $value El valor a escapar y entrecomillar
     * @return string El valor resultante
     */
    public function quote($value) {
        if ($_link = $this->connect()) {
            return "'" . $this->escape($value) . "'";
        } else {
            return "'" . $value . "'";
        }
    }

    /**
     * Escapa los valores a introducir en la base de datos
     * @param string $value El valor a escapar 
     * @return string El valor resultante
     */
    public function escape($value) {
        if ($_link = $this->connect()) {
            return $_link->real_escape_string($value);
        } else {
            return $value;
        }
    }

    public function affected_rows() {
        if ($_link = $this->connect()) {
            return $_link->affected_rows;
        } else {
            return 0;
        }
    }

    public function close() {
        if (isset(self::$_link)) {
            self::$_link->close();
        }
    }
}
© 2026 GrazzMean