Som først:
I din anden SQL-forespørgsel:
$sqla="UPDATE table SET count='$new_count'";
du skal angive, hvilken række/rækker du vil opdatere. Til dette skal du bruge WHERE
klausul.
For eksempel:
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
Som anden:
Du mangler }
i din tilstand, hvilket også kan være problemet. Hvis jeg placerer din kode mellemrum, vil den se sådan ud:
$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";
}
Er din tilstand (startet ved anden linje) endt med }
korrekt?
Som tredje:
Gem output fra mysql_fetch_array
og mysql_query
til en variabel, og brug derefter denne variabel i dine betingelser:
$data = mysql_fetch_array($sql);
if($data) { ...
Og
$result = mysql_query($sqla);
if($result) { ...
Fodnoter:
Det er ukendt, om det tabelnavn, du bruger, faktisk hedder table
.
Hvis det er det, så er det et MySQL-reserveret ord, og det kræver særlig opmærksomhed, som at pakke det ind i flueben eller navngive det til noget andet end et reserveret ord.
Dvs.:
SELECT * FROM `table`
og
UPDATE `table`
Reference: