sql >> Database >  >> RDS >> Mysql

mysqli_affected_rows voor UPDATE geeft soms 0 terug bij volledige rij-overeenkomst

U kunt mysqli_info gebruiken om de informatie te krijgen die u nodig hebt om onderscheid te maken tussen de twee gevallen. mysqli_info($link) na een UPDATE query retourneert een tekenreeks als

Rows matched: 1 Changed: 1 Warnings: 0

die u vervolgens kunt ontleden, bijvoorbeeld met 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";

Uitgang:

12 rows matched, 8 rows changed

U kunt dan de waarden in $matched . gebruiken en $changed om onderscheid te maken tussen uw twee gevallen.




  1. MYSQL QUERY vervang NULL-waarde in een rij met gemiddelde waarden

  2. Hoe maak ik permalinks die databasegestuurd zijn?

  3. Hoe te voorkomen dat Activity Monitor de prestaties van uw SQL Server schaadt?

  4. SQLAlchemy-sessie en verbindingsrelatie