Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2012, 18:32
Avatar de jorges9
jorges9
 
Fecha de Ingreso: octubre-2011
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
bindParam funciona a medias.

Por un lado tengo la clase que realiza la conexion a la db.

Código PHP:
class DB {
    static 
$db;
    static function 
getConnection(){
        if (empty(
self::$db)) {
            
self::$db = new PDO("mysql:host=localhost;dbname=phpdb",
                                
"root",
                                
"");
        }
        return 
self::$db;
    }
    
    static function 
getStatement($query){
        
$db self::getConnection();
        return 
self::$db->prepare($query);
    }

Por otro lo cargo la consulta en el objeto y intento filtrar los datos
ej:
Código PHP:
$v2="UPDATE articulos SET precio=:precio ,descripcion=':texto', cantidad=:cant, descuento=:descuento where idarticulo=:idarticulo"/// se debera añadir el nombre de la tabla origen
        
$vo=db::getStatement($v2);
        
$vo->bindParam(":precio"$v1PDO::PARAM_INT);
        
$vo->bindParam(":texto"$v2PDO::PARAM_STR);
        
$vo->bindParam(":cant"$v3PDO::PARAM_INT);
        
$vo->bindParam(":descuento"$v4PDO::PARAM_INT);
                
$vo->bindParam(":idarticulo"$v5PDO::PARAM_INT);
        
$stmt->execute(); 

El problema radica en que solo me permite filtrar 1 sola vez, los otros bindparam no los toma, segun estuve leyendo cuando se filtran mas de 1 variable se debe de usar 'prepare ' por lo que lo estoy usando pero aun asi no logro explicar porque no me permite filtrar mas de un dato.
Este es un query de prueba, he intentado varios y el problema es el mismo, solo funciona si filtro uno.
Busque en la web sobre este problema puntual y no encontre nada parecido, por lo que agradezco su ayuda.

Última edición por jorges9; 09/06/2012 a las 06:52