Php/php-db

De josalba
Ir a la navegación Ir a la búsqueda

PHP Clase para conexión con una base de datos
Con esta clase podrás realizar consultas de forma sencilla

Clase

class BaseDatos {
	
	private $link;
	
	/**
	 * Constructor de la clase
	 */
	public function __construct(){
        $V_principal=array();
		$V_principal['_BD'] = array();
		//HOSTING BASE DE DATOS.
		$V_principal['_BD']['BD_HOST'] = '{HOST}';
		//USUARIO BASE DE DATOS.
		$V_principal['_BD']['BD_USUARIO'] = '{USUARIO}';
		//CONTRASENA BASE DE DATOS.
		$V_principal['_BD']['BD_PASSWORD'] = '{PASSWD}';
		//PUERTO BASE DE DATOS.
		$V_principal['_BD']['BD_PUERTO'] = '3306';
		//BASE DE DATOS.
		$V_principal['_BD']['BD_BD'] = '{BASE DE DATOS}';
		$this->link = new \mysqli($V_principal['_BD']['BD_HOST'], $V_principal['_BD']['BD_USUARIO'], $V_principal['_BD']['BD_PASSWORD'], $V_principal['_BD']['BD_BD'], $V_principal['_BD']['BD_PUERTO']);
		$this->link->set_charset("utf8");
	}
	/**
	 * Destruye la conexion
	 */
	public function __destruct() {
		$this->link->close();
	}
	/**
	 * Limpia un texto
	 * @param string $texto Cadena
	 * @return string Cadena limpiada
	 */
	public function _limpiar($texto){
		return $this->link->real_escape_string($texto);
	}
	/**
	 * Recupera el ultimo ID
	 * @return ultimo id de la consulta anterior.
	 */
	public function _ultimo_id(){
		return $this->link->insert_id;
	}
	/**
	 * Realiza una consulta a la base de datos
	 * @param string $sql Consulta.
	 * @return object Objeto con la consulta anterior.
	 */
	public function _db_consulta($sql){
		
		
		$result = $this->link->query($sql);
		if($result instanceof mysqli_result)
		{
				$data = array();

				while ($row = $result->fetch_assoc()) {
					$data[] = $row;
				}
				
				$result1 = new \stdClass();
				$result1->num_rows = $result->num_rows;
				$result1->row = isset($data[0]) ? $data[0] : array();
				$result1->rows = $data;
				
		}
		else
		{  	
			return false;
		}
		return $result1;
	}
}

Consultas

Lanzar consulta

$db = new BaseDatos();
$respuesta = $db->_db_consulta('SELECT * FROM {TABLA}');

Datos devueltos

$respuesta->num_rows; //Int Numero de filas encontradas
$respuesta->rows; //Array de objetos de filas
$respuesta->row; //Array de la primera fila

Recorre datos

foreach($respuesta->rows as $fila){
  echo $fila['nombrecolumna']; //Muestra los datos de la columna "nombrecolumna"
}

Recuperar datos primera columna

echo $respuesta->row['nombrecolumna']; //Muestra los datos de la columna "nombrecolumna"

Limpiar texto

$db = new BaseDatos();
$respuesta = $db->_limpiar('Texto'); //Devuelve el texto limpio

Recuperar ID

$db = new BaseDatos();
$respuesta = $db->_db_consulta('
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...); 
');
$ID = $db->_ultimo_id(); //Recupera el id del la fila cread, por ejemplo si es autoincremental devuelve el numero corespondiente al insert.