prueba agregando "mysql_error()" XD para ver donde esta el error
Código PHP:
<?
//recibo la variable id enviada en el enlace por POST
$id=$_POST[id];
//conecto a la base
$connect=mysql_connect("localhost","name","pass") or die(mysql_error());
//Selecciono la base
mysql_select_db("noticias",$connect) or die(mysql_error());
//hago las consultas
$result=mysql_query("select * from noticias where noticia='$id'",$connect) or die(mysql_error());
//Una vez seleccionados los registros los muestro para su edición
while($row=mysql_fetch_array($result))
{
echo '<form action="edit.php" method="post">
<input type="hidden" name="id" value="'.$row[id_noticia].'"><br>
Título:<br>
<input type="text" name="titulo" value="'.$row[titulo].'"><br>
Autor:<br>
<input type="text" name="autor" value="'.$row[autor].'"><br>
Categoría:<br>
<input type="text" name="categoria" value="'.$row[categoria].'"><br>
< input type="submit" value="Editar"><br>
</form>';
}
mysql_free_result($result) or die(mysql_error());
mysql_close($connect) or die(mysql_error());
?>
revisa tu consulta, personalmente creo que ahi puede estar el error, pruebala con phpmyadmin.
salu2