bueno siguiendo algunos concejos de los compañeros que me dieron ak empece a meterme con PDO y a separar las obligaciones lo que hic funciona pero como siempre digo el echo que algo funcione no kiere decir que este bien sino que no tiene ningun error de comando entonces pongo ak lo que realice y se los comento a ver que me dicen
conexion.php
Código PHP:
Ver original<?php
require_once("config.php");
class Conexion extends PDO
{
private static $_instance = null;
private $_query;
private $_row;
function __construct($dbs,$type)
{
// Obtenemos el Config desde un array, clase config etc:
$config = Config::getInstance();
$host=$config->Host;
if($config->DBName!=""){
$db =$config->DBName;
}
else
echo "No ha configurado la base de datos";
}
else{
$db=$dbs;
}
$user = $config->UserName;
$pwd = $config->Password;
$dsn = $type.':host='.$host.';dbname='.$db;
echo parent::__construct( $dsn, $user, $pwd, $attrs );
$this -> setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
public static function getInstance($dbs="",$type="mysql")
{
if( self::$_instance==null){
self::$_instance = new self($dbs,$type);
}
return self::$_instance;
}
}
es la clase que instancia la conexion con la base de datos viendo algunos ejemplos en la web y unos concejos en un tema de ak sencillamente cree una clase heredada de PDO los parametros que se deben pasar es el nombre de la base de datos sino se pasa alguno se queda la por defecto que se indico en config, el otro dato es el typo de base de datos yo la probe con las que conosco mysql que es la que mas he trabajado y un poco con postgresql ya que son los que conosco por el standar sql q he trabajado,
sql.php
Código PHP:
Ver original<?php
include("conexion.php");
class SQL
{
private $_conect;
private $_query;
private $_row;
private $_result;
public function __construct(){}
public function selectAll($table){
try{
$this->_conect=Conexion::getInstance();
$this->_query=$this->_conect->prepare("SELECT * FROM $table");
$this->_query->execute();
while($this->_row=$this->_query->fetch()){
$this->_result[]=$this->_row;
}
return $this->_result;
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function buscarQuery($query,$parametro=NULL)
{
try{
$this->_conect=Conexion::getInstance();
$this->_query=$this->_conect->prepare($query);
$this->_query->execute($parametro);
while($this->_row=$this->_query->fetch()){
$result[]=$this->_row;
}
return $result;
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function insert($table,$campos,$valores)
{
echo "Los datos deben de estar en formato de arreglo";
}
try{
$this->_conect=Conexion::getInstance();
foreach($valores as $id=>$valor){
$valorIngresar[]="'".$valor."'";
}
$valors=implode(",",$valorIngresar); $sql="INSERT INTO $table ($campo) VALUES ($valors)";
$this->_conect
->exec($sql); }
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
}
?>
aca la clase sql que es la que se encarga de la accion de las consultas hice unos metodos para ahorrarme el tener que escribir sql menos el de las consultas complejas ya que no me dio la cabeza jaja bueno espero sus comentarios como el de vas mas o menos pero no estas loco o algo parecido saludos