mysql_affected_rows

mysql_affected_rows -- Geeft het aantal betrokken rijen in de vorige MySQL operatie

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 :