sql >> Database teknologi >  >> RDS >> Mysql

mysqli_affected_rows for UPDATE returnerer nogle gange 0 ved fuld række match

Du kan bruge mysqli_info for at få de oplysninger, du skal bruge for at skelne mellem de to sager. mysqli_info($link) efter en UPDATE forespørgsel vil returnere en streng noget lignende

Rows matched: 1 Changed: 1 Warnings: 0

som du så kan parse, for eksempel ved at bruge 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";

Output:

12 rows matched, 8 rows changed

Du kan derefter bruge værdierne i $matched og $changed for at skelne mellem dine to sager.




  1. Docker med mysql:Fejlen betyder, at mysqld ikke har adgangsrettighederne til mappen

  2. En datamodel for børnefester

  3. Oprettelse af en Docker Swarm Cluster på Azure Container Service

  4. Kompleks fremmednøglebegrænsning i SQLAlchemy