No hay error real de MySQL, sino que no estás verificando si te devuelve datos.
Código PHP:
$id=$_GET['id'];
$result = mysql_query("select * from products where id='$id'");
if(!$result)
{echo "Error: ".mysql_error();}
else{
if(mysql_num_rows($result)==0)
{echo "No se obtuvieron datos.";}
else
{$r = mysql_fetch_assoc($result);
echo $r['titulo'];}