Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, estou com um dúvida, possuo um form onde o usuário escolhe uma imagem e envia para o banco de dados, porém eu gostaria que essa imagem fossa para o campo "foto" da tabela usuario, porém esta inserindo como se fosse fosse um novo usuário
Gostaria que fosse adicionada essa foto no mesmo id da pessoa, ja tentei usar o comando:
$sql = "INSERT INTO usuario (foto) VALUES ('$foto') WHERE $cod_usuario = 'cod_usuario'";
Mas não funciona, só funciona quando tiro o WHERE mas ai cria um "novo usuario" sem dados.
O que eu faço ?
Pois é este o problema, não foi inserido os dados na tabela, quero que a pessoa tenha essa opção depois do cadastro.
Porém quero que seja inserido no cadastro do usuário junto com email e etc..
Leonardo, aparentemente você ja tem esse usuario cadastrado, você quer apenas que ele adicione a foto, e para isso você deve usar o comando update tendo como filtro o codigo do usuario abaixo segue o exemplo sql:
$sql = "UPDATE usuario set foto = '$foto' WHERE $cod_usuario = 'cod_usuario'";
mas lebre-se que para gravar uma foto no banco se precisa usar campos do tipo blob, binary... isso depende do banco de dados e depois fazer a conversão desses campo para apresentar a imagem, vale apena tbm você dar uma estuda em PL/SQL voltado para o tipo de banco de dados você esta usando.
Outra possibilidade e fazer o upload dessa imagem para uma pasta do servidor e deixar ela gravada fisicamente em um diretorio.
Abs.
Mbb
Cara acabei de testar aqui o Comando Update e mesmo assim da erro quando especifico o WHERE.
Meu código:
<?php
ob_start();
if(!isset($_COOKIE['usuario'])){
echo "<script>location.href='logar.php'; </script>";
}
//dados que serão incluidos
$foto= $_POST['foto_perfil'];
if(is_uploaded_file($_FILES['foto_perfil']))$imgData = file_get_contents($_FILES['foto_perfil']);
$foto = $imgData;
}
$sql = "UPDATE INTO usuario (foto) VALUES ('$foto') $cod_usuario = 'cod_usuario' ";
//conexão com o banco de dados
$con = mysql_connect("localhost", "207131", "13851385") or die ("Configuração de Banco de Dados Errada!");
//Selecionando o banco de dados...
mysql_select_db ("///banco") or die ("Banco de Dados Inexistente!");
//Inserindo os dados
mysql_query($sql, $con) or die ("<font style=Arial color=red><h1>Houve um erro na gravação dos dados</h1></font>");
echo "<font style=Arial color=green><h2>Foto inserida com sucesso !</h2></font>";
?>Leandro seu comando pl/sql (update) esta errado! :thumbsup: , deve ser assim:
$sql = "UPDATE usuario SET foto = '$foto' where cod_usuario = '$cod_usuario' ";
ABs,
mbb
Pois é eu tinha visto e tinha corrigido, mas mesmo assim da erro quando tiro o WHERE funciona de boa, só é eu especificar o id ou usuario do WHERE que da erro. não sei mais o que fazer.
Certo vamos as duvidas :
1 - O sistema esta recebendo as varivaeis '$foto' e '$cod_usuario' ?
2 - antes de você atribuir a foto você carega as informações do usuario ?
3 - Como esta a estrutura da sua tabela do banco de dados?
Abs,
acho de suma importância a lida neste artigo
http://www.linhadecodigo.com.br/artigo/100/blob-fields-in-mysql-databases.aspx
Vlw cara ja consegui aqui, muito obrigado !
Meu amigo bom dia.
Se os dados já foram salvos em seu banco você não deve inserir algo e sim dar um Update na tabela caso queira uma atualização na próprio campo.
Bons estudos...