Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Php - MySQL chọn dữ liệu từ bảng, sau đó cập nhật cùng một bảng

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_arraymysql_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) { ...

$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`

UPDATE `table`

Tham khảo:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình trợ giúp tương đương của Doctrine 2 SUM ()?

  2. Tên bảng Mysql không hoạt động bằng chữ hoa

  3. cách mã hóa nhiều hàng từ mysql thành json bằng php

  4. Trường ORDER BY ENUM trong MYSQL

  5. MySQL thành định dạng outfile