Ir para conteúdo

POWERED BY:

Arquivado

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

Fábio L. M.

[Resolvido] Erro UPDATE com PHP e MySQL

Recommended Posts

Tô com este código aí, porém ele não faz o update no mysql:

<?php
$con = mysql_connect("localhost","MEU_USER","MINHA_SENHA");
if (!$con)
 {
 die('Não pode conectar: ' . mysql_error());
 }

mysql_select_db("MEU_DB", $con);

mysql_query("UPDATE MINHA_TABLE SET nome='$nome', titulo='$titulo', subtitulo='$subtitulo', texto='$texto'
WHERE id='$id'");

$sql = "SELECT 
	* 
FROM 
	MINHA_TABLE 
WHERE 
	id = ".(int)$_GET['id'];
$resultado = mysql_query($sql)
or die ("Não foi possí­vel realizar a consulta.");

$linha = mysql_fetch_array($resultado, MYSQL_ASSOC);
?>

<form action="alterarteste.php?id=<?php echo $_GET['id'] ?>" method="post">

<label for="nome">Nome: </label>
<input name="nome" id="nome" type="text" 
value="<?php echo $linha['nome'] ?>" />

<label for="titulo">Título do Texto: </label>
<input name="titulo" id="titulo" type="text" 
value="<?php echo $linha['titulo'] ?>" /><br />

<label for="resumo">Resumo do Texto:</label>
<input name="resumo" id="resumo" type="text" 
value="<?php echo $linha['subtitulo'] ?>" ><br />

<label for="texto">Texto: </label>
<textarea name="texto" id="texto" rows="10" cols="30" /> 
<?php echo $linha['texto'] ?></textarea><br />

<input type="submit" value="Alterar" />


</form>

alterarteste.php é o nome da página, para que quando clique em alterar o primeiro comando (UPDATE) seja executado, mas nunca altera nada...

o que tem de errado neste código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está declarando as variáveis.

 

Veja:

 

mysql_query("UPDATE MINHA_TABLE SET nome='$nome', titulo='$titulo', subtitulo='$subtitulo', texto='$texto'
WHERE id='$id'");

Onde está declarado a variáveis nome, titulo, subtitulo e texto?

 

Além do que você não está verificando quando o formulário é submetido. Atribua-lhe um name, exemplo: atualizar, e faça assim:

 

// Se o formulário for submetido
if(isset($_POST['atualizar'])){
     // faça as alterações necessárias
}

E dentro desse if pegue os valores dos inputs/textarea, não esquecendo de filtrá-los! Se ainda não funcionar, coloque um mysql_error() com a query, para ver qual é.

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está declarando as variáveis.

 

Veja:

 

mysql_query("UPDATE MINHA_TABLE SET nome='$nome', titulo='$titulo', subtitulo='$subtitulo', texto='$texto'
WHERE id='$id'");

Onde está declarado a variáveis nome, titulo, subtitulo e texto?

 

Além do que você não está verificando quando o formulário é submetido. Atribua-lhe um name, exemplo: atualizar, e faça assim:

 

// Se o formulário for submetido
if(isset($_POST['atualizar'])){
     // faça as alterações necessárias
}

E dentro desse if pegue os valores dos inputs/textarea, não esquecendo de filtrá-los! Se ainda não funcionar, coloque um mysql_error() com a query, para ver qual é.

 

:thumbsup:

Obrigado Thiago Retondar, agora finalmente funcionou =D

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.