Jump to content


Photo

Erro No Insert


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

#1 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 08:38

require("banco.php");

 if($valor!='elenco'){

   $sql = mysql_query("update ".$valor." set texto='".$_POST['campo']."'");

 }

 else{

   $sql = mysql_query("insert into elenco(texto) values('$campo')");

 }
ela ta inserindo o valor duas vezes,não entendo o pq
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 08/06/2004, 08:52

Não existe nenhuma maneira deste script inserir o valor 2x sem que o mesmo também seja executado também 2x.

A sintaxe do IF claramente executa 1 alternativa OU outra, nunca as duas.

Seu script esta meio "esquisito", segue sintaxe correta:

if ($valor!='elenco') {
  mysql_query("update $valor set texto='$campo' where ????");
} else {
  mysql_query("insert into elenco (texto) values ('$campo')");
}

OBS.: Observe a sua sintaxe do UPDATE, da forma que ele esta executando no seu script, ele vai fazer UPDATE em TODOS os registros da tabela, para resolver isto, é necessário a clausula WHERE.
------
Mero mortal!

#3 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 09:07

é que são varias tabelas e e passada dinamicamente atraves de $valor
e cada tabela,tem apenas 1 item!!
então ele da um update na tabela correta
e ta inserindo 2 vezes brother!!
não sei pq!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#4 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 08/06/2004, 09:31

então, eu vou arriscar, peço que não encare como ofença. Mas veja se você utilizou o CTRL+C e CTRL+V ... e veja se não há partes desse código iguais nele...
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#5 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 09:33

como assim??
partes iguais??
eu executo esse mesmo sql no banco e grava normal
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#6 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 08/06/2004, 09:40

Esqueça o que eu disse....

Bom se puder, poste seu código inteiro.
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#7 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 09:56

<? 
 require("banco.php");
 if ($valor=='elenco') {
   mysql_query("insert into elenco (texto) values ('$campo')");
 } 
 else {
   mysql_query("update $valor set texto='$campo'");
 }
?>
<script language="JavaScript">
  alert("Dados gravados com sucesso");
  location.href="editor.php";
</script>
onde valor é passado o nome da tabela!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#8 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 08/06/2004, 10:25

Emqual situação você identifica esse problema.
Quando você insere o registro, ou, quando você altera o registro?
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#9 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 10:35

quando eu insiro
ele insere normal,mas insere 2 vezes!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#10 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 08/06/2004, 10:55

como que chama essa página aew...q tem esse codigo postado??
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#11 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 11:20

gravar.php que tem o código
e a que eu aperto o submit para ir para essa pagina é a editor.php
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#12 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 08/06/2004, 12:41

Repara uma coisa:

<?
require("banco.php");
if ($valor=='elenco') {
  mysql_query("insert into elenco (texto) values ('$campo')");
}
else {
  mysql_query("update $valor set texto='$campo'");
}
?>
<script language="JavaScript">
alert("Dados gravados com sucesso");
location.href="editor.php";
</script>


require("banco.php");
if($valor!='elenco'){
  $sql = mysql_query("update ".$valor." set texto='".$_POST['campo']."'");
}
else{
  $sql = mysql_query("insert into elenco(texto) values('$campo')");
}


Você postou ambos os códigos... e... as condicionais entre eles são diferentes... Certeza que as inserções não estão duplicadas nos seus códigos?
Klaus Paiva
Conheça também: Taperás

#13 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 12:43

require("banco.php");
 if($valor!='elenco'){
    mysql_query("update $valor set texto='$campo'");
 }
 else{
   mysql_query("insert into elenco(texto) values('$campo')");
 }
tinha postado para o novo codigo,mas deu erro
o código é esse ae acima!!
ele grava duas vezes no banco!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#14 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 08/06/2004, 12:49

A sintaxe do update, (desculpe se disconheço desta forma...), cadê o identificador WHERE deste comando? (pra atualizar onde?)
Klaus Paiva
Conheça também: Taperás

#15 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 08/06/2004, 12:53

tipo...
...estou passando valores dinamicos com o nome da tabela
ex:
update $valor set texto='$campo'
esse valor é o nome da tabela
e essa tabela possui apenas 1 campo,com uma coluna!!
ou seja,sele atualiza aquela unica linha que tem no banco!!
está errado??
aqui pelo menos atualiza,o erro ta dando no insert!!
:D
creio que quando eu aperto no botão,por algum motivo é como se eu apertasse duas vezes!!
não sei o pq!!
:(

Edição feita por: Marcão, 08/06/2004, 13:23.

Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."




1 user(s) are reading this topic

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

IPB Skin By Virteq