Logros-de-la-vida/server/DB.class.php

83 lines
2.0 KiB
PHP
Raw Permalink Normal View History

2014-07-20 15:36:23 +02:00
<?php
/**
* Clase para utilizar la base de datos
2014-07-20 18:31:28 +02:00
* 1.2v
2014-07-20 15:36:23 +02:00
*/
class DB {
//Variables
2014-09-25 11:02:10 +02:00
public static $DB_HOST = 'localhost';//host database
public static $DB_USER = 'user database';
public static $DB_PASS = 'pass database';
public static $DB_TYPE = 'mysql';//type database: sqlite, PostgreSQL...
public static $DB_NOM = 'nom database';
2014-07-20 15:36:23 +02:00
private $sQuery;
private $aRows = array();
private $conn;
2014-07-20 18:31:28 +02:00
private $iLastId = 0;
2014-07-20 15:36:23 +02:00
/**
* Constructor
*/
public function __construct() {
}
/**
* Método que conecta con la base de datos
*/
private function abrirConexion() {
$this->conn = new PDO(self::$DB_TYPE . ':host=' . self::$DB_HOST
2014-09-25 11:02:10 +02:00
. ';dbname=' . self::$DB_NOM . ';charset=utf8;', self::$DB_USER, self::$DB_PASS);
2014-07-20 15:36:23 +02:00
}
/**
* Método que desconecta de la base de datos
*/
private function cerrarConexion() {
$this->conn = null;
}
/**
* Método que ejecutar un query simple del tipo INSERT, DELETE, UPDATE
* @param String $insSQL Sentencia SQL
*/
public function ejecutarQuery($insSQL) {
$this->sQuery = $insSQL;
$this->abrirConexion();
$this->conn->query($this->sQuery);
2014-07-20 18:31:28 +02:00
$this->iLastId = $this->conn->lastInsertId();
2014-07-20 15:36:23 +02:00
$this->cerrarConexion();
}
/**
* Método que traer resultados de una consulta en un Array
* @param String $insSQL Sentencia SQL
* @return Array array con los valores de la BBDD que cumplen la query
*/
public function obtenerResultado($insSQL){
$this->sQuery = $insSQL;
$this->abrirConexion();
$result = array();
foreach ($this->conn->query($this->sQuery) as $row) {
array_push($result, $row);
}
return $result;
}
2014-07-20 18:31:28 +02:00
/**
* Método que cuenta los resultados de una consulta Select
* @param String $insSQL Sentencia SQL
* @return int número de consultas que cumplen la query
*/
2014-07-20 15:36:23 +02:00
public function contarResultadosQuery($insSQL){
$result = count($this->obtenerResultado($insSQL));
return $result;
}
2014-07-20 18:31:28 +02:00
/**
* Método que devuelve el último id al realizar un insert
*/
public function getLastId() {
return $this->iLastId;
}
2014-07-20 15:36:23 +02:00
}
2014-07-21 12:14:50 +02:00
?>