Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) PHP+mySQL problema com UPDATE


Felipedcb

Pergunta

Olá galera, segue abaixo o meu código:

<?

include("connDB.php");

$cmd =  strip_tags($_GET['cmd']);
$id   = strip_tags($_GET["id"]);


IF($cmd == "1")
{

$categoria2  =  strip_tags(ucfirst($_POST['categoria']));
$descricao2  =  strip_tags($_POST['descricao']);

$sql = ("UPDATE CADcategoria SET 'Categoria' = '$categoria2', 'Descricao' = '$descricao2' WHERE 'Categoria' = '$id'");


mysql_db_query($DB_NAME, $sql, $conn);

?>
&lt;script>
  alert ("A categoria foi alterada com sucesso!");
  window.close();
</SCRIPT>
<?

}
else
{
  $query = ("SELECT * FROM CADcategoria WHERE Categoria='$id'");
  $Result = mysql_db_query($DB_NAME, $query, $conn);
  
  while($dados = mysql_fetch_array($Result))
  { 
    $categoria  =  $dados["Categoria"];
    $descricao  =  $dados["Descricao"];
  }
}
?>

<div align="center">
    <table border="0" width="100%" height="37">
            <tr>
                <td bgcolor="#FAFAFA" style="border: 1px solid #CCCCCC">
                <p align="center"><font size="2" color="#2C64CA"><b>Editar</b></font><b><font color="#2C64CA" size="2"> 
                Categoria</font></b></td>
            </tr>
        </table>
<p>
<table border="0" width="375" height="228">
    <form method="POST" action="edit_categoria.php?cmd=1&&id=$id">
    <tr>
        <td width="108" align="right" height="30">
        <p align="left"><font size="2">Nova Categoria:</font></td>
        <td width="261" height="30">
<input type="text" name="categoria" size="20" value="<?=$categoria?>"></td>
    </tr>
    <tr>
        <td width="369" align="right" height="30" colspan="2">
        <p align="left"><font size="2">Descrição da nova categoria:</font></td>
    </tr>
    <tr>
        <td width="369" colspan="2" height="30">
        <textarea rows="7" name="descricao" cols="44"><?=$descricao?></textarea></td>
    </tr>
    <tr>
        <td width="369" colspan="2" height="40">
        <input type="submit" value="Enviar" name="B1"></td>
    </tr>
    </form>
</table></div>

Bom, não entendo porque não está atualizando o banco de dados, acho que está tudo certo com o comando do UPDADE :unsure: alguém tem alguma idéia do que possa estar errado?

brigadão,

flww

Editado por Felipedcb
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

cara você tá usando um apostrófe a mais na ''$descrição2' tenta sem esse apostrófe deve ser isso ...

$sql = ("UPDATE CADcategoria SET 'Categoria' = '$categoria2', 'Descricao' = '$descricao2' WHERE 'Categoria' = '$id'");

Link para o comentário
Compartilhar em outros sites

  • 0

Substitua isso ...

<?

include("connDB.php");

$cmd =  strip_tags($_GET['cmd']);
$id   = strip_tags($_GET["id"]);


if($cmd == "1")
{

$categoria2  =  strip_tags(ucfirst($_POST['categoria']));
$descricao2  =  strip_tags($_POST['descricao']);

$sql = ("UPDATE CADcategoria SET 'Categoria' = '$categoria2', 'Descricao' = '$descricao2' WHERE 'Categoria' = '$id'");


mysql_db_query($DB_NAME, $sql, $conn);

?>
&lt;script>
  alert ("A categoria foi alterada com sucesso!");
  window.close();
</SCRIPT>
<?

}
else
{
  $query = ("SELECT * FROM CADcategoria WHERE Categoria='$id'");
  $Result = mysql_db_query($DB_NAME, $query, $conn);
  
  while($dados = mysql_fetch_array($Result))
  {
    $categoria  =  $dados["Categoria"];
    $descricao  =  $dados["Descricao"];
  }
}
?>
por isso ...
<?

include("connDB.php");

$cmd =  strip_tags($_GET['cmd']);
$id   = strip_tags($_GET["id"]);


IF($cmd == "1")
{

$categoria2  =  strip_tags(ucfirst($_POST['categoria']));
$descricao2  =  strip_tags($_POST['descricao']);

$sql = "UPDATE CADcategoria SET 'Categoria' = '$categoria2', 'Descricao' = '$descricao2' WHERE 'Categoria' = '$id'";

mysql_select_db($DB_NAME);
mysql_query($sql);

?>
&lt;script>
  alert ("A categoria foi alterada com sucesso!");
  window.close();
</SCRIPT>
<?

}
else
{
  $query = "SELECT * FROM CADcategoria WHERE Categoria='$id'";
  mysql_select_db($DB_NAME);
  $Result = mysql_query($query);
  
  while($dados = mysql_fetch_array($Result))
  {
    $categoria  =  $dados["Categoria"];
    $descricao  =  $dados["Descricao"];
  }
}
?>

Editado por Renato Penna
Link para o comentário
Compartilhar em outros sites

  • 0

<?php

include("connDB.php");

$cmd = strip_tags($_GET['cmd']);
$id = strip_tags($_GET["id"]);


if($cmd == "1")
{

$categoria2 = strip_tags(ucfirst($_POST['categoria']));
$descricao2 = strip_tags($_POST['descricao']);

$sql = "UPDATE CADcategoria SET 'Categoria' = '$categoria2', 'Descricao' = '$descricao2' WHERE 'Categoria' = '$id'";

mysql_select_db($DB_NAME);
mysql_query($sql) or die("<br />".mysql_error());

?>
&lt;script>
alert ("A categoria foi alterada com sucesso!");
window.close();
</SCRIPT>
<?php

}
else
{
$query = "SELECT * FROM CADcategoria WHERE Categoria='$id'";
mysql_select_db($DB_NAME);
$Result = mysql_query($query) or die("<br />".mysql_error());

while($dados = mysql_fetch_array($Result))
{
$categoria = $dados["Categoria"];
$descricao = $dados["Descricao"];
}
}
?>[/codebox]

Agora deve mostrar um erro caso a query dê errado, tente.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

iáa que legal isso, nem sabia dessa, o resultado foi o seguinte

Você tem um erro de sintaxe no seu SQL próximo a ''Categoria' = 'Felipe', 'Descricao' = 'felipeyyyyyyyyy' WHERE 'Categoria' = '$id' na linha 1

o que seria? :unsure: mas agora temos certeza que o erro é no SQL mesmo

Link para o comentário
Compartilhar em outros sites

  • 0
Se não aparece o erro é porque o comando foi executado com sucesso, se não está atualizando pode ser os dados que você está passando que são iguais...

Não, não, não era nada disso não, acabei de achar o erro:

<form method="POST" action="edit_categoria.php?cmd=1&&id=$id">

O certo seria:

<form method="POST" action="edit_categoria.php?cmd=1&&id=<?=$id?>">

falta de atenção :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...