Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2017, 15:31
massu_vago
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 0
SQLSTATE[HY000]: General error en consulta a procedimiento

Estimados,
Debo acudir a ustedes en esta ocasión por un error que escapa a mi comprensión, el tema es el siguiente.

tengo un procedimiento almacenado el cual devuelve los datos de usuario si este existe o los registra si no existe, el procedimiento almacenado funciona y todo pero cuando lo ejecuto desde PHP me lanza el SQLSTATE[HY000]: General error e ingresa el registro del cliente.

Codigo MYSQL

Código:
BEGIN
  declare existe int;
  
  SELECT count(cliente.rut) into existe
  FROM cliente 
  WHERE cliente.rut=p_rut;
  
  CASE existe
        WHEN 1 THEN
            SELECT * FROM cliente where cliente.rut=p_rut;
        WHEN 0 THEN 
             INSERT INTO cliente
                   (idcliente, rango_renta_idrango_renta, rut, nombre, apellidos, correo)
             VALUES
                   (NULL, p_rango_renta_idrango_renta, p_rut, p_nombre, p_apellidos, p_correo);
  END CASE;
END
y en mi PHP lo llamo asi:
Código PHP:
public function setCliente($rango_renta,$rut,$nombre,$apellidos,$correo)
    {
        try
        {                                                          
            
$stmt $this->conn->prepare("CALL setcliente(:rut,:rango_renta, :nombre, :apellidos, :correo);");

            
$stmt->bindparam(":rango_renta",$rango_renta);
            
$stmt->bindparam(":rut",$rut);
            
$stmt->bindparam(":nombre",$nombre);
            
$stmt->bindparam(":apellidos",$apellidos);
            
$stmt->bindparam(":correo",$correo);
            
$stmt->execute();    
            
            
            
$num_rows $stmt->rowCount();
            echo 
$num_rows."largo";
            if(
$num_rows>0)
            {
                
$row $stmt->fetchAll();
                foreach(
$row as $val)
                {
                    echo 
$val[0]." - ".$val[1]." - ".$val[2]." - ".$val[3]." - ".$val[4]." - ".$val[5];
                }
                return 
$stmt;
            }
            else
            {
                return 
$stmt;
            }
            
//return $stmt;
        
}
        catch(
PDOException $ex)
        {
            echo 
$ex->getMessage()." Error en php";
        }
    }