Conexión y métodos de consulta a una BD MYSQL

Programación de una clase para conectarse a una base de datos en MYSQL ademas de los métodos CRUD estandar para realizar consultas, en PHP

Toda aplicación o página web que muestra datos de forma dinámica; tiene por defecto:

  1. Una conexión a una base de datos y
  2. Métodos de consulta para gestionar los datos, conocidos como MÉTODOS CRUD.

La versión que hemos desarrollado esta implementada para PHP 7.0 ó superior con soporte para MYSQL y MYSQLi

MÉTODOS CRUD BÁSICOS

  1. insertar
  2. buscar
  3. eliminar
  4. actualizar

Creando la clase contenedora  y el constructor PHP para la conexión de la base de datos:

<?php 
class ApptivaDB{    
    private $host   ="localhost";
    private $usuario="root";
    private $clave  ="";
    private $db     ="test";
    public $conexion;
    public function __construct(){
        $this->conexion = new mysqli($this->host, $this->usuario, $this->clave,$this->db) or die(mysql_error());
        $this->conexion->set_charset("utf8");
    }

Una vez declara las variables  para la conexión creamos el objeto mysqli y asignamos el mantenimiento de caracteres latinos con utf8

En nuestro proyecto web debemos instanciarla de la siguiente manera:

// OPTIMIZANDO UNA CNX MYSQLI VERSION PHP 7 ó superior
include "db.php";
$user = new ApptivaDB();

Ahora implementaremos los métodos de consulta a la base de datos 

MÉTODO INSERTAR

//INSERTAR
    public function insertar($tabla, $datos){
        $resultado =    $this->conexion->query("INSERT INTO $tabla VALUES (null,$datos)") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;
    } 

Este método toma 2 paramentos :

  1. $tabla = enviamos el nombre de la tabla a acceder
  2. $datos=  Segundo parámetro tiene una cadena de texto con los valores para insertar un nuevo registro, cabe resaltar que es una inserción autoincrementable es decil null representa el id autonumérico.

Si la consulta fue correcta en $resultado retornamos verdadero o true y false ocurrió un error inesperado.

La forma de usarlo es:

$u=$user->insertar("usuarios","'PAPA','JUAN PABLO','foto.jpg'");
if($u)
	echo "Insertado";
else
	echo "No insertado";

Llenamos los parámetros tabla y la cadena con todos los valores a insertar.

MÉTODO BUSCAR

//BUSCAR
    public function buscar($tabla, $condicion){
        $resultado = $this->conexion->query("SELECT * FROM $tabla WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return $resultado->fetch_all(MYSQLI_ASSOC);
        return false;
    } 

Al igual que el anterior método, este tiene dos parámetros la tabla y la condición, el objetivo de esta consulta es extraer todos los campos o valores de uno o varios registros que cumplan la condición.

Y si hay resultados retorna un array asociativo con todos los datos del registro; caso contrario si no hay resultados retorna false.

Lo usamos de la siguiente manera:

if($resultado=$user->buscar("usuarios","1"))
	foreach ($resultado as $value)
		echo $value['id']."-".$value['nombre']."<br>";
else
	echo  "No hay registros";

Con ello extraemos todos los registros de la tabla con el nombre de usuarios y mostramos sus valores recorriendo el array asociativo con foreach, y en caso contrario mostramos un mensaje "no hay registros."

MÉTODO ACTUALIZAR

public function actualizar($tabla, $campos, $condicion){    
        $resultado  =   $this->conexion->query("UPDATE $tabla SET $campos WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;        
    } 

Actualizar o modificar datos de un registro en una tabla lo haremos usando la función actualizar, la cual recibe tres parámetros, 

  1. $tabla
  2. $campos
  3. $condicion 

Se arma la consulta con las tres variables para editar los registros de una tabla de acuerdo a la condición. si se obtiene un resultado exitoso retornamos true, muestra que false si ocurre un error.

La forma de usarlo se resume:

$u=$user->actualizar("usuarios","nombre='ANAMARIA'","id=1");
if($u)
	echo "Actualizado";
else
	echo "No actualizado";

Enviamos los tres parámetros, lo que dice esta consulta es modificar la tabla usuarios en el campo nombre con el valor 'ANAMARIA' donde id=1, es decir solo va a afectar al registro que tenga el valor 1 en para el  id. Si lo logra muestra actualizado, caso contrario muestra no actualizado.

MÉTODO ELIMINAR

public function borrar($tabla, $condicion){    
        $resultado  =   $this->conexion->query("DELETE FROM $tabla WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;
    }

Este método permite eliminar registros de una tabla, tiene por entrada dos parámetros la tabla y la condición. Si la consulta fue exitosa, retornamos true, caso contrario false.

La forma de usar esta consulta es la siguiente:

$u=$user->borrar("usuarios","id=1");
if($u)
	echo "Borrado";
else
	echo "No borrado";

Llenamos los parametros donde tabla es usuarios y la condición es id=1, vemos que si logra borrar o eliminar el registro que cumpla la condición retorna true si es asi mostramos Borrado, caso contrario No borrado..

TODO EL CÓDIGO DE LA CLASE PHP

<?php 
class ApptivaDB{    
    private $host   ="localhost";
    private $usuario="root";
    private $clave  ="";
    private $db     ="test";
    public $conexion;
    public function __construct(){
        $this->conexion = new mysqli($this->host, $this->usuario, $this->clave,$this->db)
        or die(mysql_error());
        $this->conexion->set_charset("utf8");
    }
    //INSERTAR
    public function insertar($tabla, $datos){
        $resultado =    $this->conexion->query("INSERT INTO $tabla VALUES (null,$datos)") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;
    } 
    //BORRAR
    public function borrar($tabla, $condicion){    
        $resultado  =   $this->conexion->query("DELETE FROM $tabla WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;
    }
    //ACTUALIZAR
    public function actualizar($tabla, $campos, $condicion){    
        $resultado  =   $this->conexion->query("UPDATE $tabla SET $campos WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return true;
        return false;        
    } 
    //BUSCAR
    public function buscar($tabla, $condicion){
        $resultado = $this->conexion->query("SELECT * FROM $tabla WHERE $condicion") or die($this->conexion->error);
        if($resultado)
            return $resultado->fetch_all(MYSQLI_ASSOC);
        return false;
    } 
}
?>

CONSIDERACIONES:

Los métodos implementados son los básicos para gestionar una base de datos, pero podemos implementar más métodos que se adapten a nuestros proyectos, básicamente depende de la creatividad del desarrollador para obtener consultar eficientes.

Algunos métodos a programar pueden ser:

  • Extraer un solo dato 
  • El número o cantidad de registros
  • El max o min valor de un campo 
  • O talvez un método exclusivo para un login, etc...

Código fuente completo de Conexión y métodos de consulta a una BD MYSQL

DESCARGAR

Visitas: 143 | Publicado:2018-11-17 18:03:56

Facebook Twitter Youtube Pinterest Wordpress Google Plus

:: Calle Paucarpata 130 Of. 212 2do Piso CC. AQPcompucentro ::
:: © Todos los derechos reservados APPTIVA WEB | Arequipa Perú 2010-2018 ::