Beschrijving
int
mysql_affected_rows
( [resource link_identifier])
mysql_affected_rows(
)
geeft
het
aantal
rijen
dat
betrokken
was
bij
de
laatste
INSERT
,
UPDATE
of
DELETE
query
die
geassocieerd
was
met
link_identifier
.
Als
de
link
identifier
niet
gegeven
is
,
wordt
de
link
die
als
laatste
werd
geopend
met
mysql_connect(
)
gebruikt
.
Opmerking
:
Als
je
transacties
gebruikt
,
moet
je
mysql_affected_rows(
)
na
je
INSERT
,
UPDATE
,
of
DELETE
query
aanroepen
,
niet
na
de
commit
.
Als
de
laatste
query
een
DELETE
query
zondere
WHERE
clause
was
,
zullen
alle
records
uit
de
tabel
zijn
verwijderd
,
maar
deze
functie
zal
nul
teruggeven
.
Opmerking
:
Wanneer
UPDATE
gebruikt
wordt
,
zal
MySQL
geen
kolommen
veranderen
waar
de
nieuwe
waarde
hetzelfde
is
als
de
oude
waarde
.
Dit
geeft
de
mogelijkheid
dat
mysql_affected_rows(
)
misschien
niet
het
aantal
rijen
dat
werd
gevonden
geeft
,
maar
alleen
het
aantal
rijen
dat
letterlijk
werd
aangepast
door
de
query
.
mysql_affected_rows(
)
werkt
niet
met
SELECT
queries
;
alleen
met
queries
die
records
wijzigen
.
Om
het
aantal
rijen
dat
werd
teruggegeven
door
een
SELECT
te
te
achterhalen
,
kun
je
mysql_num_rows(
)
gebruiken
.
Als
de
laatste
query
faalde
,
geeft
deze
functie
-1
terug
.
Voorbeeld
1
.
?php
/
*
Verbinding
maken
met
de
database
*
/
mysql_pconnect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die("Kan
geen
verbinding
maken
:
"
.
mysql_error())
;
/
*
Dit
zou
het
correcte
aantal
gedelete
records
terug
moeten
geven
*
/
mysql_query("DELETE
FROM
mytable
WHERE
id
10")
;
printf
("Records
deleted
:
%d\n"
,
mysql_affected_rows())
;
/
*
Zonder
een
WHERE
clause
in
de
query
geeft
dit
0
terug
*
/
mysql_query("DELETE
FROM
mytable")
;
printf
("Records
deleted
:
%d\n"
,
mysql_affected_rows())
;
?
|
Het
bovenstaande
voorbeeld
zou
de
volgende
output
produceren
:
|
Voorbeeld
2
.
?php
/
*
Verbinding
maken
met
de
database
*
/
mysql_pconnect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die("Kan
geen
verbinding
maken
:
"
.
mysql_error())
;
/
*
Update
records
*
/
mysql_query("UPDATE
mytable
SET
used=1
WHERE
id
10")
;
printf
("Updated
records
:
%d\n"
,
mysql_affected_rows())
;
mysql_query("COMMIT")
;
?
|
Het
bovenstaande
voorbeeld
zou
de
volgende
output
produceren
:
|