Código
Para usarla, solo la incluyen y pueden hacer
<?php include './conf/bd.php'; /** * BD */ class Bd { private $mysqli; public function getMysqli() { return $this->mysqli; } public function setMysqli($mysqli) { $this->mysqli = $mysqli; } public static function conectar() { $connect = Conn::connectar(); //Esto auto-instancia la clase Conn y ejecuta el metodo 'connectar()' $bd = new Bd(); $bd->setMysqli(new mysqli($connect->getHost(), $connect->getUsername(), $connect->getPassword(), $connect->getBd())); return $bd; //Te da la instancia del objeto bd. } public static function Insert($tabla, $array) { $bd = bd::conectar(); $_query = ""; foreach ($array as $key => $value) { $_query .= ', ' . $value; } else { $_query .= ", '" . $value . "'"; } } $_query .= ')'; $bd->execute('insertar', $_query); } public static function select($tabla, $params, $orderby=false, $select=false) { $bd = bd::conectar(); if(!$select) { $sql = "SELECT * FROM $tabla "; } else{ $sql = "SELECT $select FROM \"$tabla\" "; } $sql .= Bd::getWhere($params); if ($orderby) { $sql .= Bd::getOrderBy($orderby); } $bd->execute('Seleccionar', $sql); } public static function delete($table, $parm) { $bd=bd::conectar(); $sql = "DELETE FROM \"$table\" "; $sql .= Bd::getWhere($parm); $bd->execute("Eliminar", $sql); } private function getWhere($params) { return ""; $sql = " WHERE ("; foreach ($params as $i => $val) { $col = $val['col']; $val = '"' . $val['value'] . '"'; $sql .= " $op $col $cond $val"; } $sql .= " )"; return $sql; } private function getOrderBy($params) { return ""; $sql = " ORDER BY ("; foreach ($params as $i => $val) { $op = $i != 0 ? "," : ""; $col = $val['col']; $sql .= " $op $cond "; } $sql .= " )"; return $sql; } private function execute($type, $query) { $consulta = $this->getMysqli()->query($query) or die ("Error al $type: <br>" . $this->getMysqli()->error); return $consulta; } } ?>
Código
y Aqui les dejo los ejemplos para que vean el uso antes de mostrarle donde necesito su ayuda. Asi colaboramos entre todos que no me gusta siempre venir a pedir (aunque hoy tambien es el caso) esta vez me gustaria aportar algo de acorde a mi nivel y mis pocos conocimientos.
Bd::metodo($tabla, $args)
Ejemplos de Uso:
Código
//Ejemplo de Insertar: $datos = array("nombre"=>$this->nombre, "usuario"=>$this->usuario, "password"=>$cifrar, "roll"=>$this->roll); $insertar = Bd::Insert("usuarios", $datos); //Ejemplo de select (el asc lo cambias por cualquier forma de ordenar en mysql) $where = [["col"=>"usuario", "value"=>$this->usuario], ["col"=>"nombre", "value"=>$this->nombre, "op"=>"OR"]]; $order = [["col"=>"usuario", "cnd"=>"asc"]]; $check = Bd::select("usuarios", $where); //Ejemplo de Delete $where = [["col"=>"usuario", "value"=>$this->usuario], ["col"=>"nombre", "value"=>$this->nombre, "op"=>"OR"]]; $delete = Bd::delete("usuarios", $where);
La funcion para el update aun no esta lista, por eso no la puse aqui. Si alguien se anima a completarla, sientase a gusto.