PHP: Zählen bei MySQL Insert-Or-Update

edit | delete

Autor: Varsamis Karamanidis (Macky)

eingetragen: Montag, 03. Mai 2021 um 15:42 Uhr (18/2021 Kalenderwoche)

geändert: Montag, 10. Mai 2021 um 08:20 Uhr (19/2021 Kalenderwoche)

Keywords: Zahlen MySQL Insert Update mysqli_affected_rows

Kategorien: DB: MySQL, PHP, DB: MariaDB,

Text:

INSERT INTO fpd.ffoprojektministeriumsreferatverkn
...
ON DUPLICATE KEY UPDATE
foprojekt
id = ext.paid,
ministerium
referateid = ext.rmministeriumreferateid,
updatets = ext.qtupdate_zeitpunkt


Um die Zahlen für diese Query zu bekommen kann man untenstehende Syntax benutzen.


s.auch stackoverflow.com: "MySQL bei doppelter Schlüsselaktualisierung + betroffener Zeilenanzahl"

Quellcode:  

$anzahlMysqliAffectedRows = mysqli_affected_rows($link);

//courtesy of user at big lake dot com - php.net
list($rec, $dupes, $warns) = sscanf(mysqli_info($link), 
                                    "Records: %d Duplicates: %d Warnings: %d"); 
$inserts = $anzahlMysqliAffectedRows - ($dupes * 2);
$updates = ($anzahlMysqliAffectedRows - $inserts)/2;
$uebersprungen = $rec - ($inserts + $updates);
$gesamt = $rec;

$echoAusgabeSammler .= '
    <h3>Ergebnis für ' . $gesamt . ' Verknüpfungen zum "federführenden BMEL-Referat": 
         Es wurden '.$inserts.' hinzugefügt und '.$updates.' geändert!
         Bei '.$uebersprungen.' Datensätzen wurde nichts geändert!    
    </h3>
';