Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde,
Amigos,
Se puderem me ajudar, estou tentando resolver este dilema, graças a uma amigo aqui do blog consegui criar o codigo para adicionar produtos ao banco agora preciso que este mesmo codigo faça a alteração, por exemplo:
Id:Automatico
PrdCategoria: Balas
PrdDescricao: Bolete
PrdCaminho: /imagem/fotos/balas/
PrdFoto:1001.jpg
Quando eu pegar este cadastro e alterar tirando o conteudo do PrdFoto: ele coloque no banco NULL, ja fiz varias maneiras mais sem sucesso se puderem me ajudar agradeço.
<?php
include ("conexao.php");
$id = $_POST["id"];
$id = !empty($_POST["id"]) ? '\''.$id.'\'' : 'NULL';
$PrdCategoria = $_POST["PrdCategoria"];
$PrdCategoria = !empty($_POST["PrdCategoria"]) ? '\''.$PrdCategoria.'\'' : 'NULL';
$PrdDescricao = $_POST["PrdDescricao"];
$PrdDescricao = !empty($_POST["PrdDescricao"]) ? '\''.$PrdDescricao.'\'' : 'NULL';
$PrdCaminho = $_POST["PrdCaminho"];
$PrdCaminho = !empty($_POST["PrdCaminho"]) ? '\''.$PrdCaminho.'\'' : 'NULL';
$PrdFoto = $_POST["PrdFoto"];
$PrdFoto = !empty($_POST["PrdFoto"]) ? '\''.$PrdFoto.'\'' : 'NULL';
$editar= "UPDATE produtos set PrdDescricao='$PrdDescricao', PrdCategoria='$PrdCategoria', PrdCaminho='$PrdCaminho', PrdFoto='$PrdFoto' where id='$id'";
$acao_editar = mysql_query($editar) or die(mysql_error());
if($acao_editar){
echo "Alterado! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
}else{
echo "Erro ao Alterar! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
}
?>
Qualquer duvida, perante minha duvida me perguntem quero apenas que quando eu apagar uma das informações no banco se registre como null, e não em branco como estava aparecendo.Obg
Sim o BD esta aceitando null,
Tenho este outro codigo ele so alterar tem como colocar nele caso campo em branco colocar NULL ?
<?php
include ("conexao.php");
$id = $_POST['id'];
$PrdDescricao = $_POST['PrdDescricao'];
$PrdCategoria = $_POST['PrdCategoria'];
$PrdCaminho = $_POST['PrdCaminho'];
$PrdFoto = $_POST['PrdFoto'];
if(mysql_query("update produtos set PrdDescricao='$PrdDescricao', PrdCategoria='$PrdCategoria', PrdCaminho='$PrdCaminho', PrdFoto='$PrdFoto' where id='$id'")){
echo "Alterado! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
exit;
}else{
echo mysql_error();
exit;
}
?>Tente desta forma!
<?php
include ("conexao.php");
$id = $_POST["id"];
$id = !empty($_POST["id"]) ? '\''.$id.'\'' : null;
$PrdCategoria = $_POST["PrdCategoria"];
$PrdCategoria = !empty($_POST["PrdCategoria"]) ? '\''.$PrdCategoria.'\'' : null;
$PrdDescricao = $_POST["PrdDescricao"];
$PrdDescricao = !empty($_POST["PrdDescricao"]) ? '\''.$PrdDescricao.'\'' : null;
$PrdCaminho = $_POST["PrdCaminho"];
$PrdCaminho = !empty($_POST["PrdCaminho"]) ? '\''.$PrdCaminho.'\'' : null;
$PrdFoto = $_POST["PrdFoto"];
$PrdFoto = !empty($_POST["PrdFoto"]) ? '\''.$PrdFoto.'\'' : null;
$editar= "UPDATE produtos set PrdDescricao='$PrdDescricao', PrdCategoria='$PrdCategoria', PrdCaminho='$PrdCaminho', PrdFoto='$PrdFoto' where id='$id'";
$acao_editar = mysql_query($editar) or die(mysql_error());
if($acao_editar){
echo "Alterado! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
}else{
echo "Erro ao Alterar! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
}
?>Retorno esse erro.
UPDATE produtos set PrdDescricao=''Doce'', PrdCategoria=''Bebidas'', PrdCaminho='', PrdFoto='' where id=''61''You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Doce'', PrdCategoria=''Bebidas'', PrdCaminho='', PrdFoto='' where id=''61''' at line 1
Boa Tarde,
Consegui este codigo para edição, mais mesmo assim ele ainda coloca branco e não NULL, o que tenho fazer. ?
<?php
include ("conexao.php");
$id = $_POST['id'];
$PrdDescricao = $_POST['PrdDescricao'];
$PrdCategoria = $_POST['PrdCategoria'];
$PrdCaminho = $_POST['PrdCaminho'];
$PrdFoto = $_POST['PrdFoto'];
if(mysql_query("update produtos set PrdDescricao='$PrdDescricao', PrdCategoria='$PrdCategoria', PrdCaminho='$PrdCaminho', PrdFoto='$PrdFoto' where id='$id'")){
echo "Alterado! <br> <a href='javascript:history.back(-1);'>Voltar<a/>";
exit;
}else{
echo mysql_error();
exit;
}
?>Troque sua query e as declarações das variáveis pela forma abaixo. Da forma que você fez ia dar erro porque na declaração das variáveis já está colocando as '' onde precisa. E na hora de montar a query não pode ter as aspas (claro, usando a lógica que foi usada acima).
$id = $_POST["id"];
$id = !empty($_POST["id"]) ? '\''.$id.'\'' : 'NULL';
$PrdCategoria = $_POST["PrdCategoria"];
$PrdCategoria = !empty($_POST["PrdCategoria"]) ? '\''.$PrdCategoria.'\'' : 'NULL';
$PrdDescricao = $_POST["PrdDescricao"];
$PrdDescricao = !empty($_POST["PrdDescricao"]) ? '\''.$PrdDescricao.'\'' : 'NULL';
$PrdCaminho = $_POST["PrdCaminho"];
$PrdCaminho = !empty($_POST["PrdCaminho"]) ? '\''.$PrdCaminho.'\'' : 'NULL';
$PrdFoto = $_POST["PrdFoto"];
$PrdFoto = !empty($_POST["PrdFoto"]) ? '\''.$PrdFoto.'\'' : 'NULL';
$editar= "UPDATE produtos set PrdDescricao=$PrdDescricao, PrdCategoria=$PrdCategoria, PrdCaminho=$PrdCaminho, PrdFoto=$PrdFoto where id=$id";
Seu campo no BD aceita NULL?