Edit a news page

-4

In the code below, I have the news editor.

<?php

/*
 * faz a conexao ao banco
 * e seleciona a base de dados
 */
include ('../conn/conn.php');
/*
 * monta e executa consulta em SQL
 */
$sql = "SELECT *  FROM noticias   WHERE    n_id = ".(int)$_GET['id'];

$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta.");

$linha = mysql_fetch_array($resultado, MYSQL_ASSOC);

?>

<h1>Alterar Noticia</h1>

<form action="alterar_noticia.php?id=<?php echo $_GET['id'] ?>" method="post">

  <label for="titulo">Titulo do Texto: </label>
  <input name="titulo" id="n_titulo" type="text" 
  value="<?php echo $linha['n_titulo'] ?>" /><br />

  <label for="texto">Texto: </label>
  <textarea name="texto" id="n_texto" rows="10" cols="30" /> 
  <?php echo $linha['n_texto'] ?></textarea><br />


  <input type="submit" value="Alterar" />


</form>

But when I click the change button, it redirects to another page. Where do I have this code:

<?php

/*
 * faz a conexao ao banco
 * e seleciona a base de dados
 */
include '../conn/conn.php';
/*
 * monta e executa consulta em SQL
 */
$sql = "UPDATE 
        noticias 
    SET 
        titulo='".mysql_real_escape_string($_POST['titulo'])."', 
        texto='".mysql_real_escape_string($_POST['texto'])."', 
    WHERE 
         n_id = ".(int)$_GET['id'];

$resultado = mysql_query($sql)
or die ("Erro ao alterar notícia.");

?>

<h1>Notícia alterada com sucesso!</h1>

In the latter code, errors appear.

    
asked by anonymous 23.04.2014 / 13:31

1 answer

2

It seems to be syntax error only, has a comma left before where , remove it.

$sql = "UPDATE noticias SET 
        titulo='".mysql_real_escape_string($_POST['titulo'])."', 
        texto='".mysql_real_escape_string($_POST['texto'])."', 
     --------------------------------------------------------^
         WHERE n_id = ".(int)$_GET['id'];

Avoid using the mysql_ * functions as they are obsolete, this other question , you have several reasons why does not use them.

Do not use generic error messages like:

or die ("Error changing news.");

prefer mysql_error () this will give the database error message:

 or die (mysql_error());
    
23.04.2014 / 13:49