mysql_affected_rows

mysql_affected_rows -- Devolve o número de linhas afetadas na operação anterior com o MySQL

Descrição

int mysql_affected_rows ( [resource link_identifier])

mysql_affected_rows( ) retorna o número de linhas afetadas pela ultima query INSERT , UPDATE ou DELETE associada a link_identifier . Se o identificador de link não é especificado , o ultimo link aberto por mysql_connect( ) é utilizado .

Nota : Se você esta usando transações , você deve chamar mysql_affected_rows( ) após sua query INSERT , UPDATE , ou DELETE , não depois de commit .

Se a ultima query foi um DELETE sem a cláusula WHERE , todos os registros foram apagados da tabela , mas esta função retornará zero .

Nota : Quando usando UPDATE , o MySQL não atualizará as colunas onde o novo valor é o mesmo que o valor anterior . Isto cria a possibilidade de que a função mysql_affected_rows( ) não seja atualmente igual ao número de linhas encontradas , somente o número de linhas que literalmente foram afetadas pela query .

A função mysql_affected_rows( ) A função mysql_affected_rows( ) não funciona com os comandos SELECT ; somente comandos que modificam os registros . Para pegar o número de linhas retornados por SELECT , use mysql_num_rows( ) .

Se a ultima query falhou , esta função irá retornar -1 .

Exemplo 1 .

 
?php

 
/

 
*

 
Conecta

 
com

 
o

 
banco

 
de

 
dados

 
*

 
/

 
mysql_pconnect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die

 
("Não

 
pude

 
conectar

 
:

 
"

 
.

 
mysql_error())

 
;

 
/

 
*

 
Este

 
deve

 
retornar

 
o

 
número

 
coreto

 
de

 
registros

 
excluídos

 
*

 
/

 
mysql_query("DELETE

 
FROM

 
mytable

 
WHERE

 
id

 
10")

 
;

 
printf

 
("Registros

 
excluídos

 
:

 
%d\n"

 
,

 
mysql_affected_rows())

 
;

 
/

 
*

 
Sem

 
a

 
clausula

 
where

 
no

 
comando

 
delete

 
,

 
deve

 
retornar

 
0

 
*

 
/

 
mysql_query("DELETE

 
FROM

 
mytable")

 
;

 
printf

 
("Registros

 
excluídos

 
:

 
%d\n"

 
,

 
mysql_affected_rows())

 
;

 
?



O exemplo acima deve produzir a seguinte saída :

 
Registros

 
excluídos

 
:




 
10

 
Registros

 
excluídos

 
:









Exemplo 2 .

 
?php

 
/

 
*

 
conecta

 
com

 
o

 
banco

 
de

 
dados

 
*

 
/

 
mysql_pconnect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die

 
("Não

 
pude

 
conectar

 
:

 
"

 
.

 
mysql_error())

 
;

 
/

 
*

 
Atualiza

 
os

 
registros

 
*

 
/

 
mysql_query("UPDATE

 
mytable

 
SET

 
used=1

 
WHERE

 
id

 
10")

 
;

 
printf

 
("Registros

 
atualizados

 
:

 
%d\n"

 
,

 
mysql_affected_rows())

 
;

 
mysql_query("COMMIT")

 
;

 
?



O exemplo acima deve produzir a seguinte saída :

 
Registros

 
atualizados

 
:











Veja também : mysql_num_rows( ) , mysql_info( ) .