aca les dejo los metodos que use para trabajar el sql
Código PHP:
Ver original<?php
#######################################################
# Clace para conexion con db #
# #
# Creado por Carlos Belisario #
# #
#######################################################
class db
{
protected $_conect;
protected $_query;
protected $_row;
protected $_result;
public function __construct()
{
$this->_conect=DatabaseFactory::create($site_path);
}
public function selectAll
($table,$condicion=array()){
try{
{
$this->_query=$this->_conect->prepare("SELECT * FROM $table");
$this->_query->execute();
}
else{
foreach($condicion as $key=>$value){
$valorCondicion[]="$key='".$value."'";
}
$condiciones=implode(" AND ",$valorCondicion);
$sql="SELECT * FROM $table WHERE $condiciones";
$this->_query=$this->_conect->prepare($sql);
$this->_query->execute();
}
while($this->_row=$this->_query->fetch()){
$result[]=$this->_row;
}
return $result;
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function ejecutarSentencia($query,$parametro=NULL,$return=false )
{
try{
$this->_query=$this->_conect->prepare($query);
$this->_query->execute($parametro);
if($return==true){
while($this->_row=$this->_query->fetch()){
$result[]=$this->_row;
}
return $result;
}
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function ejecutarSentencia1($query,$parametro=NULL,$return=false )
{
try{
$this->_query=$this->_conect->prepare($query);
$this->_query->execute($parametro);
if($return==true){
while($this->_row=$this->_query->fetch()){
return $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{
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();
}
}
public function update($table,$valores,$condicion)
{
echo "Los datos deben de estar en formato de arreglo";
}
try{
foreach($valores as $id=>$valor){
$valorIngresar[]="$id='".$valor."'";
}
foreach($condicion as $key=>$value){
$valorCondicion[]="$key=".$value;
}
else{
$valorCondicion[]="$key='".$value."'";
}
}
$valors=implode(",",$valorIngresar);
$condiciones=implode(" AND ",$valorCondicion);
$sql="UPDATE $table SET $valors WHERE $condiciones";
$this->_conect
->exec($sql);
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function deleteAll($table,$return=false)
{
try{
$this->_result
=$this->_conect
->exec("DELETE FROM $table");
if($return){
return $this->_result;
}
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
public function reiniciarTabla($table){
try{
$this->_result
=$this->_conect
->exec("TRUNCATE TABLE $table");
}
catch(PDOExeption $e){
echo $e->getMessaage();
}
}
}
si se fijan en la archivo dbfactory se incluye el patron registry utilice el creado en este
articulo espero le sirva a alguien saludos