Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2008, 15:43
Avatar de lucasan
lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 17 años, 6 meses
Puntos: 59
Clase para usar bases de Datos Mysql

Hola a todos,

se que clases como esta hay miles en la red, pero como apenas me inicio en PHP orientado a objetos, pues es la primera que estoy haciendo.

He buscado en el foro y no hay ninguna similar, entonces me gustaría ponerla en un aporte, tal vez a alguién le pueda servir.

Bueno, el tema de ponerla aquí es por si alguién le quiere dar una mirada y corregirle o añadirle lo que sea necesario, y así hacer un buen aporte a la comunidad.

A la clase le añadí una función que encontré en el foro, la verdad no recuerdo quien la posteó pero se lleva el crédito, es la función para realizar consultas seguras con variables externas (POST, GET y COOKIES).

Es mas, si alguien experimentado puede revisar dicha función, ya que no soy experto en el tema.

Código PHP:
<?php

/**
* Clase BD
* Util para crear, consultar, modificar 
* bases de datos Mysql, así como conectarse
* y desconectarse de la misma.
*/

class Bd {
    
    private 
$server//Nombre del servidor
    
private $user//Usuario de la Base de Datos
    
private $pass// Password del Usuario
    
private $bd//Nombre de la Base de Datos
    
private $conection//Link de la conexion
    
private $conected//Estado de la conexion Boolean
    
private $sql//Consulta Sql Sring
    
private $result// Resultado de la consulta
        
    
function setConf ($server$user$pass){
        
$this->server $server;
        
$this->user $user;
        
$this->pass $pass;
    } 
//Ingresa el nombre del Servidor, el usuario y la contraseña
    
    
function getServer () {
    return 
$this->server;
    } 
//Devuelve el nombre del servidor
    
    
function getUser () {
        return 
$this->user;
    } 
//Devuelve el nombre de usuario
    
    
function getPass () {
        return 
$this->pass;
    } 
//Devuelve el Password
    
    
function setBd ($bd) {
        
$this->bd $bd;
    } 
//Ingresa la base de datos a conectar
    
    
function getBd () {
        return 
$this->bd;
    } 
//Devuelve el nombre de la Base de Datos
    
    
public function Conect (){
        if (
$this->conection mysql_connect($this->server$this->user$this->pass)){
            
true;
        }
        else {
            
false;
        }
    } 
//Conecta con el servidor
    
    
public function selectBd () {
        if (
$this->conected mysql_select_db($this->bd$this->conection)){
            
true;
        }
        else {
            
false;
        } 
    } 
//Seleciona la base de datos a conectarse.
    
    
public function setSql ($sql) {
        
$this->sql $sql;
    } 
//Ingresa la sentencia Sql
    
    
public function Consult () {
        
$this->result mysql_query($this->sql$this->conection);
    }
//Realiza la consulta a la Base de Datos
    
    
public function getRegArray (){
        return 
mysql_fetch_array($this->result);
    }
//Devuelve los registros en un arreglo
    
    
public function getRegObject (){
        return 
mysql_fetch_object($this->result);
    }
//Devuelve los registros como objeto
    
    
public function freeRes (){
        return 
mysql_free_result($this->result);
    }
//Libera la memoria usada por el resultado
    
    
public function closeCon (){
        return 
mysql_close($this->conection);
    }
//Cierra la conexion establecida
    
    /**
    * Funcion de seguridad para realizar consultas con
    * variables recibidas por GET, POST o COOKIE.
    * Esta funcion es independiente del valor de magic_quotes en el php.ini
    * $var recibe la variable externa
    */
    
public function secureQuery($var//Variable recibida por POST, GET o COOKIE
    
{
    
// Retirar las barras
    
if (get_magic_quotes_gpc()) {
        
$valor stripslashes($var);
    }

    
// Colocar comillas si no es entero
    
if (!is_numeric($var)) {
        
$valor "'" mysql_real_escape_string($var) . "'";
    }
    return 
$var//Devuelve contenido seguro para realizar la consulta sql.
    
}
}
?>
Es mas, no se comentar bien, si alguién pudiera documentarla sería genial.

La idea es poder ofrecer un buen aporte a los usuarios del foro.

Saludos y mil gracias.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"