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.
}
}
?>
La idea es poder ofrecer un buen aporte a los usuarios del foro.
Saludos y mil gracias.