Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2014, 20:44
nimaki25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
update de registros desde php, pdo

estimados, saludarlos a todos, pasaba nuevamente por este gran foro para exponerles lo siguiente, necesito hacer update de algunos campos , utilizo la siguiente funcion:
Código PHP:
 // Funcion Actualizar Avisos (via cod_aviso)
        
function actualizaAviso($cod_aviso=null){
             
             
$cod_aviso=(int)$cod_aviso;
            
            if(empty(
$cod_aviso) OR !$cod_aviso){
                
header('location:../Admin/login.php');   
            }

             
//print_r($cod_aviso);
            
            //Preparamos la Consulta
            
$query="UPDATE 
                   avisos 
                   SET
                   comuna = :comuna,
                   titulo_aviso = :titulo_aviso,
                   categoria_aviso = :categoria_aviso,
                   tipo_aviso = :tipo_aviso,
                   valor_producto = :valor_producto,
                   aviso_completo = :aviso_completo,
                   telefono_celular = :telefono_celular,
                   telefono_fijo = :telefono_fijo,
                   correo_electronico = :correo_electronico,
                   direccion = :direccion
                   WHERE cod_aviso = :cod_aviso"
;
            
            
//Preparamos la consulta
            
$stmt=$this->con->prepare($query);
            
            
            
$stmt->bindParam(':comuna',$_POST['comuna']);
            
$stmt->bindParam(':titulo_aviso',$_POST['titulo_aviso']);
            
$stmt->bindParam('categoria_aviso',$_POST['categoria_aviso']);
            
$stmt->bindParam(':tipo_aviso',$_POST['tipo_aviso']);
            
$stmt->bindParam(':valor_producto',$_POST['valor_producto']);
            
$stmt->bindParam(':aviso_completo',$_POST['aviso_completo']);
            
$stmt->bindParam(':telefono_celular',$_POST['telefono_celular']);
            
$stmt->bindParam('telefono_fijo',$_POST['telefono_fijo']);
            
$stmt->bindParam(':correo_celectronico',$_POST['correo_electronico']);
            
$stmt->bindParam(':direccion',$_POST['direccion']);
            
            
            
//ejecutamos la consulta
           // $stmt->execute();
            // Execute the query
        
if($stmt->execute()){
            echo 
"actualizadoooo";
        }else{
            die(
'no');
        }
            
             
         }
//Funcion actualizaAviso 
y en mi archivo update.php (que carga en el formulario los campos segun el id que viene via get) lo tengo asi:
Código PHP:
<?php
session_start
();

require_once 
'../Inc/funciones.php';


//Recibo el cod_aviso que viene desde la pagina
$cod_aviso strip_tags($_GET['cod_aviso']);


//Instanciamos
$aviso = new Avisos();

$avisos=$aviso->detalleAviso($cod_aviso);

//Cargo el registro en sus campos del formulario
foreach($avisos as $row){
    
    
$comuna         =   $row['comuna'];
    
$titulo_aviso   =   $row['titulo_aviso'];
    
$categoria      =   $row['categoria_aviso'];
    
$tipoaviso      =   $row['tipo_aviso'];
    
$valor          =   $row['valor_producto'];
    
$detalleaviso   =   $row['aviso_completo'];
    
$celular        =   $row['telefono_celular'];
    
$fijo           =   $row['telefono_fijo'];
    
$correo         =   $row['correo_electronico'];
    
$direccion      =   $row['direccion'];
}

//actualizacion
if(isset($_POST['actualizar'])){
     
            
//$comuna=$_POST['comuna'];
            //$titulo_aviso=$_POST['titulo_aviso'];

    
$aviso->actualizaAviso($cod_aviso);
}


//validacion session

//formulario y codigo html....

?>
el hecho es que al ejecutar me sale lo siguiente:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in

lo cual segun he estado viendo, es por que me estaria faltando un parametro, pero me cuadran todos....

agradecido desde ya por su ayuda