PHP mysql_affected_rows() functie
Definitie en gebruik
De mysql_affected_rows() functie retourneert het aantal regels dat de laatste MySQL-actie heeft beïnvloed.
syntaxis
mysql_affected_rows(link_identifier)
parameter | beschrijving |
---|---|
link_identifier | verplicht. De MySQL-verbindingsteken. Als deze niet is gespecificeerd, wordt de laatst gebruikte mysql_connect() geopende verbinding. Als deze verbinding niet gevonden wordt, probeert de functie om mysql_connect() Maak een verbinding en gebruik deze. Als er een onverwachte situatie optreedt, wordt er een waarschuwing van niveau E_WARNING gegenereerd als de verbinding niet gevonden wordt of de verbinding niet kan worden gemaakt. |
uitleg
verkrijgen van het laatste link_identifier Aantal regels die worden beïnvloed door een INSERT, UPDATE of DELETE query.
Retourneert de waarde
Retourneert het aantal geraakte rijen als de uitvoering succesvol is, of -1 als de laatste zoekopdracht mislukt.
Als de laatste actie een DELETE-zoekopdracht is zonder WHERE-bedinging, worden alle records in de tabel verwijderd, maar het retourneerwaarde van deze functie was tot versie 4.1.2 altijd 0.
Bij het uitvoeren van een UPDATE-zoekopdracht zal MySQL niet de kolommen bijwerken die dezelfde waarden hebben als de oorspronkelijke waarden. Dit maakt dat de waarde van mysql_affected_rows() niet altijd het aantal records is dat voldoet aan de zoekvoorwaarden, maar alleen het aantal daadwerkelijk gewijzigde records wordt geretourneerd.
De REPLACE-sqlusentoevoeging verwijdert eerst de records met dezelfde primaire sleutel en voegt vervolgens een nieuw record in. De functie retourneert het aantal verwijderde records plus het aantal ingevoegde records.
Voorbeeld
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Kon niet verbinden: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Gewiste records: " . $rc; mysql_close($con); ?>
Uitvoer:
Gewiste records: 4