Ir para conteúdo

Arquivado

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

Bizonho

erro em update

Recommended Posts

estou tentando editar uns campos no sql e não estou conseguindo ja refiz o script 4x e nao acho o erro, oque será?

 

formulario

echo "<table width=\"550\" border=\"$bd\" cellspacing=\"0\" cellpadding=\"0\">\n"; echo "<form name=\"alterar\" method=\"post\" action=\"x.alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar\">\n";  echo "<tr>\n";  echo "<td colspan=\"2\" height=\"70\"></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td colspan=\"2\" align=\"center\"><img src=\"imgs/alterar.gif\" width=\"220\" height=\"40\"></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td colspan=\"2\" height=\"55\"></td>\n";  echo "</tr>\n";     echo "<tr>\n";  echo "<td width=\"120\" height=\"25\" class=\"texto\">  Data</td>\n";  echo "<td width=\"430\"><input name=\"xdata\" value=\"$vr[data]\" type=\"text\" maxlength=\"10\" class=\"campo2\" onkeypress=\"return txtBoxFormat(document.incluir, 'xdata', '99.99.9999', event);\"></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td height=\"110\" bgcolor=\"#F2F2F2\" class=\"texto\">  Descrição</td>\n";  echo "<td bgcolor=\"#F2F2F2\"><textarea name=\"desc\" rows=\"5\" class=\"camposaltura\">$vr[desc]</textarea></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td height=\"180\" class=\"texto\">  Notícia</td>\n";  echo "<td><textarea name=\"noticia\" rows=\"10\" class=\"camposaltura\">$vr[noticia]</textarea></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td height=\"25\" bgcolor=\"#F2F2F2\" class=\"texto\">  Fonte</td>\n";  echo "<td bgcolor=\"#F2F2F2\"><input name=\"fonte\" value=\"$vr[fonte]\" type=\"text\" size=\"30\" class=\"campo2\"></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td colspan=\"2\" height=\"50\"></td>\n";  echo "</tr>\n";  echo "<tr>\n";  echo "<td height=\"25\"></td>\n";  echo "<td><input type=\"image\" src=\"imgs/alterando.gif\" width=\"80\" height=\"18\" border=\"0\"></td>\n";  echo "</tr>\n";  if ($msg == ok) {  echo "<tr>\n";  echo "<td colspan=\"2\" height=\"50\" align=\"center\" class=\"erro\">Alterado com sucesso!</td>\n";  echo "</tr>\n"; }  echo "<tr>\n";  echo "<td colspan=\"2\" height=\"100\"></td>\n";  echo "</tr>\n"; echo "</form>\n"; echo "</table>\n";

 

alterando

<?require ('session.php');$alt = "UPDATE noticias SET data='$xdata', desc='$desc', noticia='$noticia', fonte='$fonte' WHERE id='$alterar'";$res = mysql_db_query( "estrela_estrela", $alt, $link );mysql_close($link);Header("Location: alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar&msg=ok");?>

 

 

campos no MySQL

 

id - smallint(5) - auto_increment

data - varchar(20)

desc - text

noticia - text

fonte - varchar(50)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa pegar os dados vindos do formulario usando $_POST

 

exemplo:

$desc = $_POST["desc"];

 

você esta trabalhando com register_globals = on, mas por segurança ele esta desativado e recomendo nunca mais usar esse recurso, sendo assim você precisa pegar os dados vindos de post com $_POST e get com $_GET

Compartilhar este post


Link para o post
Compartilhar em outros sites

não funcionou não Fabyo :(

 

$xdata = $_POST["xdata"];$desc = $_POST["desc"];$noticia = $_POST["noticia"];$fonte = $_POST["fonte"];$alt = "UPDATE noticias SET data='$xdata', desc='$desc', noticia='$noticia', fonte='$fonte' WHERE id='$alterar'";$res = mysql_db_query( "estrela_estrela", $alt, $link );mysql_close($link);

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas que erro que deu?

 

testa as variaveis e da um echo no sql para ver como ta

 

e qual o campo da data no seu banco de dados?, o campo correto para guardar datas é o DATE e o padrao é

0000-00-00 ou seja ANO-MES-DIA

 

dica: mysql_db_query Esta função é obsoleta desde PHP 4.0.6. Não use mais esta função

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por que estou utilizando a data da seguinte forma xx.xx.xxxx poderia ter feito uma replace, mas não tem tanta necessidade assim.como dou echo no sql equal função posso utilizar no lugar do mysql_db_query?

Compartilhar este post


Link para o post
Compartilhar em outros sites

como nao, se você gravar a data fora do padra correto que seria o DATE o banco de dados vai tratar aquele campo como um texto qualquer, sendo assim você nao tera nenhuma função feita para manipular datas

 

e sobre a função você pode usar mysql_query e mysql_select_db

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilizei o mysql_query e mesmo assim não consegui ele volta a mensagem de atualizado com sucesso que tem no rodape da paginaHeader("Location: alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar&msg=ok");te adicionei no msn pra poder te enviar o arquivo.php caso queira ver. eu quebrei a cabeça ontem o dia todo com isto e é so essa tabela que não to conseguindo atualizar as outras estou normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

apos muti sacrificio e perder minha tabela de noticia axei como contornar a situação. colocar `` na desc estou ate agora sem intender mas isso resolveu, nao entendo porque coloquei para gerar o codigo para modificar no phpmyadmin e ele gerou todos com `` mas o desc não posso tirar porque faz parar de funcionar.

 

$alt = "UPDATE noticias SET data='$wdata', `desc`='$desc', noticia='$noticia', fonte='$fonte' WHERE id = '$alterar'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que eu alterei o campo para data e fiz um replace que nem você havia falado para alterar co campo para data, por isso que recebe $wdata$wdata = implode(preg_match("~\/~", $xdata) == 0 ? "-" : "-", array_reverse(explode(preg_match("~\/~", $xdata) == 0 ? "-" : "-", $xdata)));

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.