Như đầu tiên:
Trong truy vấn SQL thứ hai của bạn:
$sqla="UPDATE table SET count='$new_count'";
bạn cần chỉ định hàng / hàng nào bạn muốn cập nhật. Đối với điều này, bạn phải sử dụng WHERE
mệnh đề.
Ví dụ:
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
Như thứ hai:
Bạn thiếu }
trong tình trạng của bạn, đó cũng có thể là vấn đề. Nếu tôi để trống mã của bạn, nó sẽ giống như sau:
$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";
}
Điều kiện của bạn (bắt đầu ở dòng thứ hai) có kết thúc bằng }
không đúng không?
Như thứ ba:
Lưu đầu ra của mysql_fetch_array
và mysql_query
vào một biến và sau đó sử dụng biến này trong các điều kiện của bạn:
$data = mysql_fetch_array($sql);
if($data) { ...
Và
$result = mysql_query($sqla);
if($result) { ...
Chú thích cuối trang:
Không biết liệu tên bảng bạn đang sử dụng có thực sự được gọi là table
hay không .
Nếu đúng, thì đó là một từ dành riêng cho MySQL và nó cần được chú ý đặc biệt, như gói nó trong dấu tích hoặc đặt tên nó thành một thứ gì đó khác với một từ dành riêng.
Tức là:
SELECT * FROM `table`
và
UPDATE `table`
Tham khảo: