Ir para conteúdo

POWERED BY:

Arquivado

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

Zoação

Não consigo atualizar os dados (veja o código). Porque?

Recommended Posts

O que esta errado no código abaixo?

 

Não estou conseguindo atualizar os dados no banco de dados mysql. Sempre que clico no botão atualizar que tem uma chamada para o arquivo "atualiza.php", simplesmente a página fica "vazia".

 

Veja o código abaixo:

 

<?php

include ("config.php");

$id = $_POST['id'];
$situacaofoto = $_POST['situacaofoto'];
$facebook = $_POST['facebook'];
$website = $_POST['website'];
$informacoes = $_POST['informacoes'];

mysql_query("UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'");

?>

 

Obrigado desde já!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

vacalhação deixa seu codigo assim e veja se aparece algum erro:

 

 

 
ini_set('display_errors', true);
error_reporting(E_ALL);
 
$sql =

"UPDATE fotografias SET
        situacaofoto='$situacaofoto',
        facebook='$facebook',
        website='$website',
        observacoes='$observacoes'
WHERE id = '$id'";
echo '<pre>';
print_r($sql);

mysql_query($sql) or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

id deve ser inteiro e vc tá colocando como string



"UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = $id";

tenta assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

id deve ser inteiro e vc tá colocando como string

 

Não faz a menor diferença para este caso. Eu apostaria em algum campo que não pode ser null...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... se a página fica vazia é porque está sendo atualizado os dados, já que não tem nenhum tipo de resposta caso tudo dê ok.

Os dados estão sendo atualizados?

dá um echo no $sql e tenta executar no phpmyadmin.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é sim porque a sua condição é a seguinte

só dá update se existir algum registro que tenha aquele id

 

se vc declarou ele como inteiro no bd

e bota no codigo como string ele nunca vai executar o update

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso não faz diferença, o mysql entende que '$id' é inteiro caso o tipo de dado seja inteiro (ou seja, '1' é igual a 1).

Daria erro se $id fosse "null", já que 'null' é diferente de null. Mas não deve ser o caso aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é sim porque a sua condição é a seguinte

só dá update se existir algum registro que tenha aquele id

 

se vc declarou ele como inteiro no bd

e bota no codigo como string ele nunca vai executar o update

entendeu ?

 

Perfeitamente errada a sua lógica... faça um teste você mesma.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
mysql_query("UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'");

olha a variavel $observacoes

não seria $informacoes ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

id deve ser inteiro e vc tá colocando como string

 

"UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = $id";

tenta assim

 

Não funcionou não cassiane.

 

Bom... se a página fica vazia é porque está sendo atualizado os dados, já que não tem nenhum tipo de resposta caso tudo dê ok.

Os dados estão sendo atualizados?

dá um echo no $sql e tenta executar no phpmyadmin.

 

Não esta sendo atualizando.

Quando vou logo após até o banco de ados através do phpmyadmin, vejo que os campos continuam inauterados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguma mensagem de erro?

executou a consulta ($sql) direto no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim que vai dar certo

 

mysql_query("UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$informacoes' WHERE id = '$id'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

mysql_query("UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'");

olha a variavel $observacoes

não seria $informacoes ?

 

Coloquei uma chamada para que possa então ser redirecionada a página caso o script seja executado, porém redireciona, mas não atualiza nada...

 

<?php

include ("config.php");

$id = $_POST['id'];
$situacaofoto = $_POST['situacaofoto'];
$facebook = $_POST['facebook'];
$website = $_POST['website'];
$observacoes = $_POST['observacoes'];

mysql_query("UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'");

	header("Location:localizar.php");

?>

 

id está assim, veja:

 

Type: int(11)

Collation: (vazio)
Attributes: (vazio)
Null: No
Default: (vazio)
Extra: auto_increment

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma coisa boba... o id que você quer alterar existe?

Outra... tira as aspas do id... lembrei agora que caso o id esteja vazio e usar aspas não vai dar erro (já que a sintaxe <campo>='' é correta).

 

Faz isso e cole aqui a saída:

$sql="UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'";


print_r($sql);
mysql_query($sql);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Uma coisa boba... o id que você quer alterar existe?

Outra... tira as aspas do id... lembrei agora que caso o id esteja vazio e usar aspas não vai dar erro (já que a sintaxe <campo>='' é correta).

 

Faz isso e cole aqui a saída:

$sql="UPDATE fotografias SET situacaofoto='$situacaofoto', facebook='$facebook', website='$website', observacoes='$observacoes' WHERE id = '$id'";


print_r($sql);
mysql_query($sql);

 

Estranho, não exibiu nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/topic/507669-atualizar-dados-aps-resultado-de-consulta/

 

Você abre um novo post, porque quer tudo pronto. Aí quando não te respondem do jeito que você quer, você faz isso. Abre um monte de post sempre com as mesmas coisas. Sempre com as mesmas questões muitas das vezes já resolvidas.

 

Tudo que você quer, você não se dá o trabalho de pesquisar no Google, quer pronto.

 

O fórum é de ajuda, compartilhamento de conhecimento, troca de experiências. Não para fazer dever de casa.

 

Antes que você diga que nunca fez isso ta aí

 

http://forum.imasters.com.br/topic/506655-atualizar-registro-em-banco-de-dados-mysql/ (o comando é o mesmo)

 

:lock:

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.