Ir para conteúdo
Fórum Script Brasil
  • 0

Erro com php e mysql


michellarantes

Pergunta

Ola, estou precisando de uma ajuda! quando eu faça a inserção dos dados no mysql ele troca os valores, como se fosse lixo de memória, já vi isso acontecer na linguagem C!

esse é o código de inserção, ele troca o valor do formulário e coloca esse valor " 2147483647"!

$tipo2 = $_POST ["opcao2"];

$cnpj = $_POST ["cnpj"];

$ie = $_POST ["ie"];

$fax = $_POST ["fax"];

$contato = $_POST ["contato"];

if ($tipo2 == "juridica")

{

if (($cnpj == "") or ($ie== "") or ($contato == "") or ($fax == ""))

{

echo "<script>alert('Verifique os Campos em Branco !!'); </script>";

$banco = mysql_select_db("sysloja",$conexao);

if (!$banco)

die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

$query = mysql_query("DELETE FROM telefone WHERE codigo_cliente = '$codigo'");

$query = mysql_query("DELETE FROM cliente WHERE codigo = '$codigo'");

}

else

{

$valida = $cnpj;

$valida = valCnpj($valida);

if ($valida == 0)

{

echo "<script>alert('CNPJ Invalido!!'); </script>";

$banco = mysql_select_db("sysloja",$conexao);

if (!$banco)

die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

$query = mysql_query("DELETE FROM telefone WHERE codigo_cliente = '$codigo'");

$query = mysql_query("DELETE FROM cliente WHERE codigo = '$codigo'");

}

else

{

$banco = mysql_select_db("sysloja",$conexao);

if (!$banco)

die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

$sql = mysql_query("INSERT into juridica (codigo, c_cliente, cnpj, ie, contato, fax) VALUES ('NULL', '$codigo', '$cnpj', '$ie','$fax', '$contato')") or die(mysql_error());

{

echo "<script>alert('Cliente Cadastrado com Sucesso!!!'); </script>";

mysql_close();

}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Qual dos valores ele troca sozinho? Em que variável esse valor estaria?

O valor esta na variavel cnpj, quando faz a inserção no banco ele altera, o valor passa a ser "2147483647" não importa que valor que tenha a variavel sempre coloca esse valor, ate a validação do cnjp a variavel se mantem a mesma, isso é só na inserção do banco!

Link para o comentário
Compartilhar em outros sites

  • 0

2147483647 deve ser o valor default da sua coluna no BD

Sua instrução SQL também parece conter outro equivoco no campo fax

Original

mysql_query("INSERT into juridica (codigo, c_cliente, cnpj, ie, contato, fax) VALUES ('NULL', '$codigo', '$cnpj', '$ie','$fax', '$contato')") or die(mysql_error());
Correto
mysql_query("INSERT into juridica (codigo, c_cliente, cnpj, ie, contato, fax) VALUES ('NULL', '$codigo', '$cnpj', '$ie', '$contato','$fax')") or die(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

já q não vai na inteligência vai na manha cagada mesmo >.< antes de coloca a variável na query, crie uma outra variável com o valor da cnpj e insira aquela >.<

$banco = mysql_select_db("sysloja",$conexao);
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
$sql = mysql_query("INSERT into juridica (codigo, c_cliente, cnpj, ie, contato, fax) VALUES ('NULL', '$codigo', '$cnpj', '$ie','$fax', '$contato')") or die(mysql_error());
ficaria
$banco = mysql_select_db("sysloja",$conexao);
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
$var2 = $cnpj;
$sql = mysql_query("INSERT into juridica (codigo, c_cliente, cnpj, ie, contato, fax) VALUES ('NULL', '$codigo', '$var2', '$ie','$contato', '$fax')") or die(mysql_error());

pod parece estranho, mais já resolveu mtas coisas simplesmente indecifráveis aqui que só chuck norris poderia resolver >.< tenta ai. a, e arruma a ordem na query (você inverteu contato e fax)...

Link para o comentário
Compartilhar em outros sites

  • 0

galera estava com o mesmo problema quando tentava dar um insert no campo cnpj no meu banco não postava o valor enviado , mas sim esse valor 2147483647.

resolvi da seguinte forma mudei o campo cnpj no banco que estava com tipo int para bigint e deu certo.

o valor int não suporta ele vai de -2147483648 ate 2147483647.

http://dev.mysql.com/doc/refman/4.1/pt/numeric-types.html

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...