Como primeiro:
Em sua segunda consulta SQL:
$sqla="UPDATE table SET count='$new_count'";
você precisa especificar quais linhas você deseja atualizar. Para isso você deve usar
WHERE
cláusula. Por exemplo:
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
Como segundo:
Você não tem
}
na sua condição, o que também pode ser o problema. Se eu espaçar seu código, ficará assim:$sql=mysql_query("SELECT * FROM table WHERE id='$id'");
if($data=mysql_fetch_array($sql))
{
$count=$data['count'];
$new_count=$count+1;
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
if(mysql_query($sqla))
{
echo "success";
}
Sua condição (iniciada na segunda linha) terminou com
}
corretamente? Como terceiro:
Salvar saída de
mysql_fetch_array
e mysql_query
para uma variável e, em seguida, use essa variável em suas condições:$data = mysql_fetch_array($sql);
if($data) { ...
E
$result = mysql_query($sqla);
if($result) { ...
Notas de rodapé:
Não se sabe se o nome da tabela que você está usando é realmente chamado de
table
. Se for, então essa é uma palavra reservada do MySQL e requer atenção especial, como envolvê-la em ticks ou nomeá-la para algo diferente de uma palavra reservada.
Ou seja:
SELECT * FROM `table`
e
UPDATE `table`
Referência: