Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysqli_affected_rows dla UPDATE czasami zwraca 0 przy pełnym dopasowaniu wiersza

Możesz użyć mysqli_info aby uzyskać informacje potrzebne do rozróżnienia tych dwóch przypadków. mysqli_info($link) po UPDATE zapytanie zwróci ciąg podobny do

Rows matched: 1 Changed: 1 Warnings: 0

które możesz następnie przeanalizować, na przykład używając 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";

Wyjście:

12 rows matched, 8 rows changed

Następnie możesz użyć wartości w $matched i $changed aby rozróżnić dwa przypadki.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. nie mogę wyświetlić miniatury na ekranie, mam czysty biały ekran z trochę uszkodzonym obrazem w lewym górnym rogu

  2. Wysyłanie powiadomienia Firesbase do wielu użytkowników

  3. Nie można załadować stref czasowych?

  4. Rozwijana lista rozwijana html, wybrana wartość nie jest wstawiana do MYSQL

  5. Czy powinienem trzymać się tylko automatycznej kopii zapasowej AWS RDS lub migawek DB?