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
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
.
?php
/
*
Verbindung
zur
Datenabank
*
/
mysql_pconnect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die
("Keine
Verbindung
möglich
:
"
:
.
mysql_error())
;
/
*
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
:
|
|
Beispiel
2
.
?php
/
*
Verbindung
zur
Datenabank
*
/
mysql_pconnect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die
("Keine
Verbindung
möglich
:
"
:
.
mysql_error())
;
/
*
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
:
|
Siehe
auch
:
mysql_num_rows(
)
,
mysql_info(
)
.