Jako pierwszy:
W drugim zapytaniu SQL:
$sqla="UPDATE table SET count='$new_count'";
musisz określić, który wiersz/wiersze chcesz zaktualizować. W tym celu musisz użyć WHERE
klauzula.
Na przykład:
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
Jako drugi:
Brakuje }
w twoim stanie, co też może być problemem. Jeśli spędzę twój kod, będzie to wyglądało tak:
$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";
}
Czy twój warunek (zaczynający się w drugiej linii) zakończył się }
poprawnie?
Jako trzeci:
Zapisz wynik mysql_fetch_array
i mysql_query
do zmiennej, a następnie użyj tej zmiennej w swoich warunkach:
$data = mysql_fetch_array($sql);
if($data) { ...
I
$result = mysql_query($sqla);
if($result) { ...
Przypisy:
Nie wiadomo, czy nazwa tabeli, której używasz, rzeczywiście nazywa się table
.
Jeśli tak, to jest to słowo zastrzeżone MySQL i wymaga szczególnej uwagi, np. zawijając je w tiki lub nazywając czymś innym niż słowo zastrzeżone.
Czyli:
SELECT * FROM `table`
i
UPDATE `table`
Odniesienie: