Join Up!
96811 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previousMySQLmysql_change_usernext
Last updated: Mon, 28 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Czech | Finnish | Spanish

mysql_affected_rows

(PHP 3, PHP 4 )

mysql_affected_rows --  Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation

Beschreibung

int mysql_affected_rows ( [resource Verbindungs-Kennung])

mysql_affected_rows() liefert die Anzahl betroffener Datensätze durch die letzte INSERT, UPDATE oder DELETE Anfrage an den Server, die mit der angegebenen Verbindungs-Kennung assoziiert wird. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen.

Anmerkung: Falls Sie Transaktionen verwenden, müssen Sie mysql_affected_rows() unmittelbar nach Ihrer INSERT, UPDATE, oder DELETE Anfrage aufrufen, nicht nach dem Commit.

War die letzte Anfrage ein DELETE-Anweisung ohne WHERE Bedingung, wurden alle Datensätze aus der Tabelle gelöscht. Diese Funktion wird aber trotzdem Null (0) zurückliefern.

Anmerkung: Benutzen Sie UPDATE wird MySQL keine Spalten aktualisieren, bei denen der neue dem alten Wert entpspricht. Das kann dazu führen, dass mysql_affected_rows() nicht die tatsächliche Anzahl der betroffenen Zeilen liefert, sondern nur die, die wörtlich durch die Anfrage betroffen sind.

Diese Funktion arbeitet nicht in Verbindung mit SELECT-Anfragen, sondern nur bei Anweisungen, die Datensätze verändern. Um die Anzahl der gelieferten Datensätze einer SELECT-Anfrage zu erhalten, benutzen Sie die Funktion mysql_num_rows().

Falls die letze Anfrage fehlschlägt, liefert diese Funktion -1 zurück.

Beispiel 1. Delete-Query

<?php
    /* Verbindung zur Datenabank */
    mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die ("Keine Verbindung möglich");

    /* Das sollte die korrekte Anzahl gelöschter Datensätze liefern */
    mysql_query("DELETE FROM mytable WHERE id < 10");
    printf ("Datensätze gelöscht: %d\n", mysql_affected_rows());

    /* Ohne where Bedingung in einer Delete-Anweisung sollte 0 zurückgegeben werden */
    mysql_query("DELETE FROM mytable");
    printf ("Datensätze gelöscht: %d\n", mysql_affected_rows());
?>

Das obige Beispiel gibt folgendes aus:
Datensätze gelöscht: 10
Datensätze gelöscht: 0

Beispiel 2. Update-Query

<?php
    /* Verbindung zur Datenabank */
    mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die ("Could not connect");

    /* Update von Datensätzen */
    mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
    printf ("Veränderte Datensätze: %d\n", mysql_affected_rows());
    mysql_query("COMMIT");
?>

Das obige Beispiel gibt folgendes aus:
Veränderte Datensätze: 10

Siehe auch: mysql_num_rows(), mysql_info().

User Contributed Notes
mysql_affected_rows
add a note about notes
There are no user contributed notes for this page.
previousMySQLmysql_change_usernext
Last updated: Mon, 28 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST