Jump to content


Photo

Alterar Dados Num Banco De Dados


  • Faça o login para participar
11 replies to this topic

#1 Bruninho

Bruninho

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado
  • Localidade:São José dos Campos - SP

Posted 27/12/2005, 00:21

Olá, gostaria de saber como eu faço para alterar dados num banco de dados .txt do tipo:

bruno|bla@bla.com|123
andre|email@servidor.com|321

Gostaria de, por exemplo, mudar a senha do primeiro, de 123 para 098.

Obrigado!
------------------------------

[ <Bruninho> WebDesigner ]

#2 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 27/12/2005, 14:51

Você terá que ler todo o BD e reconstrui-lo com as modificações...

Porque não usar MySQL? (esse salvou minha vida euheuheuhe)
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#3 Wilton Paulo

Wilton Paulo

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Zona Sul
  • Interesses:Aprender mais sobre WebDesigner e tirar dúvidas de membros sobre Hardware...entre outros

Posted 28/12/2005, 21:42

Segue o código

#Pega as informações do banco
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);

#Limpa o arquivo
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);

foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
Wilton Paulo,

ICQ: 102226854
MSN: wiltonpaulo@hotmail.com

#4 Bruninho

Bruninho

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado
  • Localidade:São José dos Campos - SP

Posted 29/12/2005, 17:19

Muito obrigado pela ajuda! Funcionou perfeito!
------------------------------

[ <Bruninho> WebDesigner ]

#5 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 29/12/2005, 18:23

para grandes arquivos, tem que usar um while enquando le o arquivo (ainda nao modificado) e ir salvando as alterações em um arquivo separado.

após o termio, renomear o arquivo original e pegar o "arquivo separado" e colocar o nome do arquivo original.

isso evita que em um possivel erro você não pecar o arquivo...
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#6 Zefreus

Zefreus
  • Visitantes

Posted 07/12/2006, 14:32

Uma pergunta.
E se existirem mais de duas senhas iguais?
Acho que essa situação vai alterar as duas senhas......

abraços

#7 Whitesnake

Whitesnake
  • Visitantes

Posted 17/02/2007, 20:58

Substituindo o arquivo de nosso amigo Wilton, podemos torna-lo mais eficaz

foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
if ($nome eq $nome-usuario
&& $email eq $email-usuario) {
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
}


Até

#8 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 23/03/2007, 20:30

aproveitando o tópico ... nunca mais usei o "chop;" ... pra que servia mesmo ?

#9 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 23/03/2007, 23:24

Para retirar o último caractere. No caso acima, seria o newline (\n).
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#10 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 24/03/2007, 15:26

o mesmo que $_ =~ s/\n//ig; ?

#11 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/03/2007, 17:52

Tirando os modificadores, seria isso sim.

s/\n//;


(y)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#12 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 16/11/2007, 12:24

posteiu um tuto de como fazer alterações seguras em banco de dados em texto
outra, de vez de usar chop, use chomp, pois se o ultimo caracter nao for o "\n" ele nao faz nada
assim vc nao corre o risco de perder o ultimo caracter de nenhuma variavel.

bem, ai ta minhas dicas

abraços
Editado pela equipe Forum Wmo, favor ler as regras.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq