Jump to content
Sign in to follow this  
cabaçonophp

update no banco

Recommended Posts

boa noite pessoal....montei uma procedure para fazer update de cadastros no banco de dados.

Para finalizar no PDO e montar o array com fetch all(), no código da aplicação, tive que criar a procedure:

delimiter $$
CREATE PROCEDURE bancodados.sp_update_operador(
param_cpf VARCHAR(100),
IN unidade_interna VARCHAR(100),
nome VARCHAR(45),
telefone VARCHAR(45),
celular VARCHAR(45),
email VARCHAR(45),
apelido VARCHAR(45),
cod_operador VARCHAR(50),
tipo VARCHAR(45),
filial VARCHAR(45),
sexo VARCHAR(45),
senha VARCHAR(45),
status INT(1)
)
BEGIN
SELECT distinct 'OK' as status, unidade_interna, nome, telefone, celular, email, apelido, cod_operador, tipo, filial, sexo, senha;
UPDATE `bancodedados`.`tbl_cad_user` SET `unidade_interna`= @unidade_interna, `nome`= @nome ,`telefone`= telefone,
`celular`= @celular, `email`= @email, `apelido`=@apelido,
`cod_operador`= @cod_operador, `tipo`= @tipo, `filial`= @filial, `sexo`= @sexo, `senha`= @senha
WHERE (id_cpf = param_cpf);
END$$
delimiter ;

 

 

Mas esta procedure não alterada os registros. Tenho o retorno da aplicação de que o cadastro foi alterado, mas na realidade o banco não foi sensibilizado.

 

obrigado.

 

Share this post


Link to post
Share on other sites

Você esta declarando as variáveis no update, então elas são criadas neste momento, não tendo valor.

 

Minha sugestão:

 

1 - Faça checagens no início do da sp, a ponto de garantir que os valores passados são válidos, isso reduz o risco de fazer um update errado.

2 - Coloque os parâmetros da sp como p_unidade_interna, p_nome e etc, isso facilitará sua codificação.

3 - Faça o update passando no valor do set os parâmetros, ex:

update 
     `bancodedados`.`tbl_cad_user` 
set
     `unidade_interna` = p_unidade_interna
     , `nome` = p_nome
     , `telefone` = p_telefone
     , `celular` = p_celular
     , `email` = p_email
     , `apelido` = p_apelido
     , `cod_operador` = p_cod_operador
     , `tipo` = p_tipo
     , `filial` = p_filial
     , `sexo` = p_sexo
 where  (id_cpf = param_cpf);

Espero ter ajudado.

 

_ _

Fabiano Abreu

Papo SQL

Quiz na Web

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Pellegrini3834
      Ola galera do IMasters!!!!!!
       
      Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:
      Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.
      Obrigado.
    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
    • By Chester1
      oi, eu to tentando mexer com servidores agora no PHP e esta dando um erro muito estranho que quando eu procuro em um programa que acha erros de sintaxe ele me diz que o erro esta no </HTML>    se alguem puder me dizer qual foi o erro que eu cometi eu agradeceria
       

       
      <HTML> <HEAD><TITLE>incluindo no banco de dados</TITLE></HEAD> <body> <BODY bgcolor="#d0d0d0"> <center> <h3>Lanchonete coma bem (voltada para o internauta)</h3> <h1>24horas</h1> <?php $login_digitado=$_POST['login']; $senha=$_POST['senha']; $nome=$_POST['nome']; $email=$_POST['email']; $telefone=$_POST['telefone']; $celular=$_POST['celular']; $endereco=$_POST['endereco']; $complemento=$_POST['complemento']; if ($login_digitado == "" || $senha == "" || $nome =="" || $email == "" || $telefone == "" || $endereco == "" || $complemento == "") { echo "existem(m) campos(s) de preenchimento obrigatorio em branco,<BR> infelizmente tera que voltar para preenche-lo(s)."; echo "<BR><a href=\"cadastro.php\">clique aqui para tentar novamente</a>"; } else { { $link=mysql_connect("localhost", "root", "") or die ("<h1>nao foi possivel conectar !!!</h1> ".mysql_error());  
      obs :estou trabalhando com formularios e servidores
         
         
         
         
      ?>
      </BODY>
      </HTML>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.