Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GabrielSantos

Problemas com Update

Recommended Posts

Como eu altero um registro da tabela do banco de dados? Fiz tudo certo mas não estou conseguido o resultado esperado ele mostra que o dado foi alterado, mas não altera no bd.

<?php 
		$conecta = mysql_connect("localhost", "root", "");
		mysql_select_db ("estoque", $conecta);
		
		$id=$_GET['id'];
	
		$visualizar = "select * from tbestoque where id=$id";
		$result  = mysql_query($visualizar, $conecta);
		
		while ($montar = mysql_fetch_array ($result))
{
		$id = $montar["id"];
		$produto = $montar["produto"];
		$preco = $montar["preco"];
		$quantidade = $montar["quantidade"];
		$fornecedor = $montar["fornecedor"];
}
		?>

        <form method="post" action="alterar.php" id="formulario">
       	  <input type="text" name="id" placeholder="<?php echo $id; ?>" readonly id="c1">
                
          <input type="text" name="produto" value="<?php echo $produto; ?>">
            <br /><br/>
          <input type="text" name="preco" value="<?php echo $preco; ?>" id="c1">
                
          <input type="text" name="quantidade" value="<?php echo $quantidade; ?>">
            <br /><br />
          <input type="text" name="fornecedor" value="<?php echo $fornecedor; ?>">
          	    
          <input type="submit" value="Salvar" id="button">  
        </form>

alterar.php

<?php

	$conecta= mysql_connect("localhost","root","");
	mysql_select_db ("estoque");
		
		$id = $_POST['id'];
   		$produto = $_POST['produto'];
		$preco = $_POST['preco'];
		$quantidade = $_POST['quantidade'];
		$fornecedor = $_POST['fornecedor'];
	
	$sql = ("UPDATE tbestoque SET produto='$produto', preco=$preco, quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");
	
	$result = mysql_query($sql);
	
	{
	echo "<script type=\"text/javascript\">alert(\"Registro alterado com sucesso\"); history.go(-1); </script>\n";
	}
	
	header("Location: editar.php");
	
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:

$sql = ("UPDATE tbestoque SET produto='$produto', preco=$preco, quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");

por isso:

$sql = ("UPDATE tbestoque SET produto='$produto', preco='$preco', quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");

preco='$preco'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você colocou o or die na criação da string SQL e não na execução dela.

 

troque isto:

 

$sql = ("UPDATE tbestoque SET produto='$produto', preco=$preco, quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");

$result = mysql_query($sql);

 

por isto

 

$sql = "UPDATE tbestoque SET produto='$produto', preco=$preco, quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'"

$result = mysql_query($sql) or die( "erro: " . mysql_error() );

 

isso deve exibir o erro do mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites


Notice: Undefined index: id in C:\Program Files (x86)\EasyPHP-12.1\www\tbLTP\alterar.php on line 6

 

Notice: Undefined index: produto in C:\Program Files (x86)\EasyPHP-12.1\www\tbLTP\alterar.php on line 7

 

Notice: Undefined index: preco in C:\Program Files (x86)\EasyPHP-12.1\www\tbLTP\alterar.php on line 8

 

Notice: Undefined index: quantidade in C:\Program Files (x86)\EasyPHP-12.1\www\tbLTP\alterar.php on line 9

 

Notice: Undefined index: fornecedor in C:\Program Files (x86)\EasyPHP-12.1\www\tbLTP\alterar.php on line 10

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa linha:

 

<input type="text" name="id" placeholder="<?php echo $id; ?>" readonly id="c1">

 

tente assim:

<input type="text" name="id" value="<?php echo $id; ?>" readonly id="c1">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Gabriel

 

Tenta assim:

<?php 
		$conecta = mysql_connect("localhost", "root", "");
		mysql_select_db ("estoque", $conecta);
		
		$id=$_GET['id'];
	
		$visualizar = "select * from tbestoque where id=$id";
		$result  = mysql_query($visualizar, $conecta);
		
		while ($montar = mysql_fetch_array ($result))
{
		$id = $montar["id"];
		$produto = $montar["produto"];
		$preco = $montar["preco"];
		$quantidade = $montar["quantidade"];
		$fornecedor = $montar["fornecedor"];
}
		?>

        <form method="post" action="alterar.php?id=<?php echo $id; ?>" id="formulario">
          <input type="text" name="produto" value="<?php echo $produto; ?>">
            <br /><br/>
          <input type="text" name="preco" value="<?php echo $preco; ?>" id="c1">
                
          <input type="text" name="quantidade" value="<?php echo $quantidade; ?>">
            <br /><br />
          <input type="text" name="fornecedor" value="<?php echo $fornecedor; ?>">
          	    
          <input type="submit" value="Salvar" id="button">  
        </form>

alterar.php

<?php

	$conecta= mysql_connect("localhost","root","");
	mysql_select_db ("estoque");
		
		$id = $_GET['id'];

   		$produto = $_POST['produto'];
		$preco = $_POST['preco'];
		$quantidade = $_POST['quantidade'];
		$fornecedor = $_POST['fornecedor'];
	
	$sql = ("UPDATE tbestoque SET produto='$produto', preco='$preco', quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die(mysql_error());
	
	$result = mysql_query($sql);
	
	{
	echo "<script type=\"text/javascript\">alert(\"Registro alterado com sucesso\"); history.go(-1); </script>\n";
	}
	
	header("Location: editar.php");
	
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:

$sql = ("UPDATE tbestoque SET produto='$produto', preco=$preco, quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");

por isso:

$sql = ("UPDATE tbestoque SET produto='$produto', preco='$preco', quantidade='$quantidade', fornecedor='$fornecedor' WHERE id='$id'") or die("erro");

preco='$preco'

 

sem olhar mais profundamente, faltou aspas no preço

posamos quase juntos

 

aspas são para strings

tipo Inteiro e ponto flutuante nao usa

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.