Ir para conteúdo

POWERED BY:

Arquivado

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

gildo.rj

[Resolvido] UPDATE não funciona.

Recommended Posts

Bom dia grupo!

 

Alguem poderia analisar esse script por favor.

 

Conexção perfeita.

Testei todas as variaveis passadas via $_POST.

A principio não vejo erros nos comandos passados.

 

Mas mesmo assim a alteração não é efetuada.

<?php
include 'config.php';

   $cod      = $_POST['cod'];
   $nome     = $_POST['nome'];
   $distrito = $_POST['distrito'];
   $endereco = $_POST['endereco'];
   $bairro   = $_POST['bairro'];
   $cep      = $_POST['cep'];
   $telefone = $_POST['telefone'];
   $diretor  = $_POST['diretor'];
   $teldir   = $_POST['teldiretor'];
   $email    = $_POST['email'];
   $alunos   = $_POST['alunos'];
   $claesp   = $_POST['claesp'];
   $pre      = $_POST['pre'];
   $priseg   = $_POST['priseg'];
   $segseg   = $_POST['segseg'];
   $noturno  = $_POST['noturno'];

$query = mysql_query("UPDATE`ues SET`nome='$nome',distrito='$distrito',end='$endereco',cep='$cep',bairro='$bairro',tel='$telefone',diretor='$diretor',tel_diretor='$teldir',email='$email',alunos='$alunos',c_esp='$claesp',pre='$pre',1seg='$priseg',2seg='$segseg',noturno='$noturno' WHERE cod='$cod'" or die(mysql_error()));

header("location:altera_ue.php"); // Redireciona para a página de ues

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

simplismente você fechou o parenteses no lugar errado... e colocou aspas em lugar errado tb...

 

troque:

$query = mysql_query("UPDATE`ues SET`nome='$nome',distrito='$distrito',end='$endereco',cep='$cep',bairro='$bairro',tel='$telefone',diretor='$diretor',tel_diretor='$teldir',email='$email',alunos='$alunos',c_esp='$claesp',pre='$pre',1seg='$priseg',2seg='$segseg',noturno='$noturno' WHERE cod='$cod'" or die(mysql_error()));

 

por:

$query = mysql_query("UPDATE ues SET nome='$nome', distrito='$distrito', end='$endereco', cep='$cep', bairro='$bairro', tel='$telefone', diretor='$diretor', tel_diretor='$teldir', email='$email', alunos='$alunos', c_esp='$claesp', pre='$pre', 1seg='$priseg', 2seg='$segseg', noturno='$noturno' WHERE cod='$cod'") or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonatã, obrigado pela ajuda, mas agora deu esse erro. Saberia o que pode estar acarretando?

 

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 '='E. M. LIONS',distrito='1',end='ENDEREÇO',cep='25.070-0900',bairro='BAIRRO',te' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta:

<?php
include 'config.php';

$cod = addslashes($_POST['cod']);
$nome = addslashes($_POST['nome']);
$distrito = addslashes($_POST['distrito']);
$endereco = addslashes($_POST['endereco']);
$bairro = addslashes($_POST['bairro']);
$cep = addslashes($_POST['cep']);
$telefone = addslashes($_POST['telefone']);
$diretor = addslashes($_POST['diretor']);
$teldir = addslashes($_POST['teldiretor']);
$email = addslashes($_POST['email']);
$alunos = addslashes($_POST['alunos']);
$claesp = addslashes($_POST['claesp']);
$pre = addslashes($_POST['pre']);
$priseg = addslashes($_POST['priseg']);
$segseg = addslashes($_POST['segseg']);
$noturno = addslashes($_POST['noturno']);

$query = mysql_query("UPDATE ues SET nome='$nome', distrito='$distrito', end='$endereco', cep='$cep', bairro='$bairro', tel='$telefone', diretor='$diretor', tel_diretor='$teldir', email='$email', alunos='$alunos', c_esp='$claesp', pre='$pre', 1seg='$priseg', 2seg='$segseg', noturno='$noturno' WHERE cod='$cod'") or die(mysql_error());

header("location:altera_ue.php"); // Redireciona para a página de ues

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eis o codigo onde passo os dados.

<?php
session_start();
include 'valida.php';
include 'inicio.php';
include 'config.php';
//include 'valida.php';

$prod = $_POST['ues'];

$sql = mysql_query("SELECT * FROM ues WHERE nome = '$prod'"); 
$res = mysql_fetch_array($sql);
?>

<!DOCTYPE html>
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title></title>
    <script type="text/javascript" language="javascript">
       function onLoad(){
       var obj = document.getElementById('nome');
       if(obj){
       obj.focus();
       }
       }
    </script>
  </head>

<body onload="javascript:onLoad();">
  <h2>Alterar UEs</h2>  
<form method="POST" action="salva_altera_ue.php">
   <table>
     <tr><td>Codigo      :</td> <td><input type="text" disabled="yes" value="<?php echo $res['cod']; ?>" name="cod" size=10  /></td></tr>  
     <tr><td>Nome        :</td> <td><input type="text" value="<?php echo $res['nome']; ?>" name="nome" size=40 id="nome"/></td></tr>  
     <tr><td>Endereço    :</td> <td><input type="text" value="<?php echo $res['end']; ?>" name="endereco" size=40/></td></tr>
     <tr><td>Bairro      :</td> <td><input type="text" value="<?php echo $res['bairro']; ?>" name="bairro" size=20 /></td></tr>
     <tr><td>Cep         :</td> <td><input type="text" value="<?php echo $res['cep']; ?>" name="cep" size=10 /></td></tr>
     <tr><td>Distrito    :</td> <td><input type="text" value="<?php echo $res['distrito']; ?>" name="distrito" size=5 /></td></tr>
     <tr><td>Telefone    :</td> <td><input type="text" value="<?php echo $res['tel']; ?>" name="tel" size=10 /></td></tr>
     <tr><td>Diretor     :</td> <td><input type="text" value="<?php echo $res['diretor']; ?>" name="diretor" size=15 /></td></tr> 
     <tr><td>Tel. Diretor:</td> <td><input type="text" value="<?php echo $res['tel_diretor']; ?>" name="teldiretor" size=10 /></td></tr>
     <tr><td>Email       :</td> <td><input type="text" value="<?php echo $res['email']; ?>" name="email" size=40 /></td></tr>
     <tr><td>Alunos      :</td> <td><input type="text" value="<?php echo $res['alunos']; ?>" name="alunos" size=5 /></td></tr>
     <tr><td>Cla. Espec. :</td> <td><input type="text" value="<?php echo $res['c_esp']; ?>" name="claesp" size=5 /></td></tr>
     <tr><td>Pre         :</td> <td><input type="text" value="<?php echo $res['pre']; ?>" name="pre" size=5 /></td></tr>
     <tr><td>1o Seg.     :</td> <td><input type="text" value="<?php echo $res['priseg']; ?>" name="priseg" size=5 /></td></tr>
     <tr><td>2o Seg.     :</td> <td><input type="text" value="<?php echo $res['segseg']; ?>" name="segseg" size=5 /></td></tr>
     <tr><td>Noturno     :</td> <td><input type="text" value="<?php echo $res['noturno']; ?>" name="noturno" size=5 /></td></tr>
    <tr><td><input type="submit"  value="alterar" name="alterar"/></td></tr>
   </table>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte:

$sql = "UPDATE ues SET nome='$nome', distrito='$distrito', end='$endereco', cep='$cep', 
bairro='$bairro', tel='$telefone', diretor='$diretor', tel_diretor='$teldir', 
email='$email', alunos='$alunos', c_esp='$claesp', pre='$pre', 1seg='$priseg', 
2seg='$segseg', noturno='$noturno' WHERE cod=$cod";

echo $sql; 
$query = mysql_query( $sql ) or die(mysql_error());

 

poste o resultado desse echo para análise.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu esse erro William.

 

UPDATE`ues SET`nome='E. M. LIONS',distrito='1',end='ENDEREÇO',cep='25.070-0900',bairro='BAIRRO',tel='1234-5678',diretor='DIRETOR',tel_diretor='1234567',email='EMAIL',alunos='1000',c_esp='500',pre='250',1seg='100',2seg='50',noturno='025' WHERE cod=''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 '='E. M. LIONS',distrito='1',end='ENDEREÇO',cep='25.070-0900',bairro='BAIRRO',te' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu esse erro William.

 

UPDATE`ues SET`nome='E. M. LIONS',distrito='1',end='ENDEREÇO',cep='25.070-0900',bairro='BAIRRO',tel='1234-5678',diretor='DIRETOR',tel_diretor='1234567',email='EMAIL',alunos='1000',c_esp='500',pre='250',1seg='100',2seg='50',noturno='025' WHERE cod=''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 '='E. M. LIONS',distrito='1',end='ENDEREÇO',cep='25.070-0900',bairro='BAIRRO',te' at line 1

 

será que ninguem percebeu que tem uma aspa simples depois da palavra BAIRRO??? que é isto que esta dando este erro...

 

use a funcao mysql_real_escape_string nas suas variaveis que deverá funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpem a ignorancia, mas como devo usar essa função?

 

mysql_real_escape_string($cod) = $_POST['cod']; assim da erro

 

$cod = mysql_real_escape_string($_POST['cod']); assim permace o mesmo erro postado anteriormente.

 

Carak já to de cabelo em pé...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em primeiro lugar gostaria de agradecer a todos que tentaram ajudar.

 

Mas o problema era uma sujeira quase imperceptivel que tinha no comando UPDATE.

 

outro detalhe quando voce passa via $_POST uma variavel disabled="yes", ele não consegue ler, e minha chave para atualização era justamente o campo cod que esta disabled="yes".

 

Moderadores por favor podem encerrar o topico. E para quem interessar, segue o codigo corrigido:

 

<?php

session_start();

include 'config.php';

 

$cod = $_SESSION['s_cod'];

$nome = $_POST['nome'];

$distrito = $_POST['distrito'];

$bairro = $_POST['bairro'];

$cep = $_POST['cep'];

$telefone = $_POST['tel'];

$diretor = $_POST['diretor'];

$teldir = $_POST['teldiretor'];

$email = $_POST['email'];

$alunos = $_POST['alunos'];

$claesp = $_POST['claesp'];

$pre = $_POST['pre'];

$priseg = $_POST['priseg'];

$segseg = $_POST['segseg'];

$noturno = $_POST['noturno'];

 

$sql = "UPDATE ues SET nome='$nome',distrito='$distrito',end='$endereco',cep='$cep',bairro='$bairro',tel='$telefone',diretor='$diretor',tel_diretor='$teldir',email='$email',alunos='$alunos',c_esp='$claesp',pre='$pre',1seg='$priseg',2seg='$segseg',noturno='$noturno' WHERE cod='$cod'";

 

$query = mysql_query( $sql ) or die(mysql_error());

 

header("location:altera_ue.php"); // Redireciona para a página de ues

 

?>

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.