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

mysqli_affected_rows cho UPDATE đôi khi trả về 0 khi khớp hàng đầy đủ

Bạn có thể sử dụng mysqli_info để có thông tin bạn cần phân biệt giữa hai trường hợp. mysqli_info($link) sau một UPDATE truy vấn sẽ trả về một chuỗi giống như

Rows matched: 1 Changed: 1 Warnings: 0

mà sau đó bạn có thể phân tích cú pháp, ví dụ:sử dụng preg_match :

// $info = mysqli_info($link);
$info = 'Rows matched: 12 Changed: 8 Warnings: 0';
preg_match('/Rows matched: (\d+) Changed: (\d+)/', $info, $matches);
list(, $matched, $changed) = $matches;
echo "$matched rows matched, $changed rows changed\n";

Đầu ra:

12 rows matched, 8 rows changed

Sau đó, bạn có thể sử dụng các giá trị trong $matched$changed để phân biệt giữa hai trường hợp của bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để lưu trữ số thập phân trong MySQL?

  2. Cách cài đặt dbWatch để giám sát hiệu suất MySQL trong Linux

  3. Làm cách nào để khắc phục các kiểu trường số nguyên không dấu không được hỗ trợ trong MS SQL?

  4. Entity Framework + MySQL - Tại sao hiệu suất quá khủng khiếp?

  5. Cách nhập và xuất cơ sở dữ liệu qua phpMyAdmin (Lỗi 'Access bị từ chối tạo cơ sở dữ liệu db_name')