Ir para conteúdo

POWERED BY:

Arquivado

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

Renato!

Erro alterando dados no mysql

Recommended Posts

olá pessoal estou com um pqno problema em um script meu gostaria mto de suas opiniões e agradeço desde já suas atenções!

vou escrever o codigo e comentar os problemas ok?

 

são 1 tabela com 3 campos: id , desc e url

 

boum saum 2 arquivos .. alterar.php q eu uso assim: alterar.php?id=1(exemplo)

PHP [/tr][tr]<?php

 

include "db.inc";

 

$sql = "SELECT * FROM menu WHERE id='$id'";

$resultado = mysql_query($sql)

or die ("Não foi possível realizar a consulta ao banco de dados");

 

while ($linha=mysql_fetch_array($resultado)) {

$id = $linha["id"];

$desc = $linha["desc"];

$url = $linha["url"];

 

echo "<h1>Alterar Cadastro...</h1>";

echo "<hr><br>";

echo "<form action='alterar_db.php?id=$id' method='post'>";

echo "Código da Notícia: <input name='idn' type='text' value='$id' size=20><br>";

echo "DESC:<input name='descn' type='text' value='$desc' size=30> *<br>";

echo "URL:<input name='urln' type='text' value='$url' size=30> *<br>";

echo "<input type='submit' value='Alterar'>";

echo "</form>";

echo "<br><hr>";

}

 

?>

[/tr]

(onde db.inc conecta na db)

 

o outro arkivo eh o alterar_db.php

 

PHP [/tr][tr]<?php

$idn = $_REQUEST["idn"];

$descn = $_REQUEST["descn"];

$urln = $_REQUEST["urln"];

 

 

include "db.inc";

 

$sql = "UPDATE menu SET id='$idn',desc='$descn',url='$urln' WHERE id='$id'";

$resultado = mysql_query($sql)

or die ("Query invalida: " . mysql_error());

echo "<h1>Notícia alterada com sucesso!</h1>";

?>

[/tr]

 

esse ultimo arquivo eh o q manda os dados e altera e retorna a seguinte tela:

 

"Query invalida: Você tem um erro de sintaxe no seu SQL próximo a 'desc='(conteudo)',url='(conteudo)' WHERE id='(numero)'' na linha 1"
Bom novamente agradeço a atenção! Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq isso:

PHP [/tr][tr]$ren = "update menu set "

." desc = '$descn',"

. " id = '$idn',"

. " url = '$urln'";

[/tr]
?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente está certo seu código, os dados q estão sendo passados para a query q podem estar errados, inválidos, talvez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oh so o bd

 

# phpMyAdmin SQL Dump# version 2.5.3# http://www.phpmyadmin.net## Servidor: localhost# Tempo de Generação: Ago 07, 2004 at 03:13 PM# Versão do Servidor: 4.0.15# Versão do PHP: 4.3.3# # Banco de Dados : `ma`# # --------------------------------------------------------## Estrutura da tabela `menu`#CREATE TABLE `menu` (  `id` int(10) unsigned NOT NULL auto_increment,  `desc` char(255) NOT NULL default '',  `url` char(255) NOT NULL default '',  PRIMARY KEY  (`id`)) TYPE=MyISAM AUTO_INCREMENT=4;## Extraindo dados da tabela `menu`#INSERT INTO `menu` VALUES (3, '4333', '4444');    

como assim invalido? obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara qdo o mysql naum aceita uma parada eh lasca ... uma vez levei o maior pau, e consegui fazer de um jeito q naum tinha nada aver :wacko: num sei muito de sql mas tenta uma dessa formas http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

$sql = "UPDATE menu SET id=`$idn`,desc=`$descn`,url=`$urln` WHERE id=`$id`";

$sql = "UPDATE menu SET id=´$idn´,desc=´$descn´,url=´$urln´ WHERE id=´$id´";

$sql = "UPDATE menu SET id=$idn,desc=$descn,url=$urln WHERE id=$id";

$sql = "UPDATE menu SET id=" . $idn . ",desc=" . $descn . ",url=" . $urln . " WHERE id=" . $id; 

 

Sei lá pode ser que funcione ... boa sorte http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Essas aspas saum uma coisa :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz cara valeu pela ajuda + de nenhum jeito funciono :( mew to fikandu desperado .... esses erros q desensentivam a um iniciante continua progamando :( boum qm pudeh ajuda posta ai por favor!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está resgatando todos os dados necessários ao UPDATE, porém ñ notei q $id, tbm esteja sendo resgatado, notei sim q ele é passado por $_GET, mas ñ resgatado, na parte do UPDATE, deste modo, O UPDATE, Ñ saberá a qual registro atualizar os dados. Verifique isso.Flwwwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi nem eh issu bróder :( infelizmente ... naum tah resgatado + tah ativado aquela parada q puxa ela sozinha!vlw pela força! provavelmente o erro possa ser no mysql :( vo verificar []´s e vlw pela ajuda novamente.. qm tiver algo pra ajuda pode fala tdo eh útil obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi renato sobre sua pergunta para ver ser existe um comando para verificar o estado do mysql você pode usar o mysql_ping....mysql_ping() confere se uma conexão com o servidor esta ou não funcionando. Se ela caiu, uma reconexão automatica é tentada. Esta função pode ser usada por scripts que permanecem ociosos por um grande tempo, para conferir uqando o servidor fechou ou não a conexão e reconectar se necessário. mysql_ping() returna TRUE se a conexão com o servidor esta funcionando, em outro caso FALSE. abraçosMarcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Miguim,

 

$resultado = mysql_query($sql)
Qual sua variavel de conexao ao banco no arquivo db.inc ?

 

Vamos exemplificar:

 

$conectar = mysql_connect("mysql.abc.com.br","usuario1","senha1") or print (mysql_error());mysql_select_db("BANCO", $conectar) or print(mysql_error());$sql = "SELECT * FROM tabela";$resultado = mysql_query($sql, $conectar);
Veja a sintaxe do mysql_query no br.php.net

 

No seu caso, você esqueceu de colocar dentro do mysql_query() depois da sua seleção, a variavel que conecta ao banco de dados.

 

Espero ter ajudado :D

 

Ah, outra coisa, renomeie os seus arquivos .inc para .php, digite na barra de endereços o caminho para algum arquivo .inc, você vai ver tudo lá, senha, usuario, etc.. agora mude para php e tente ver novamente, seus códigos não aparecerão!

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.