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
:
|
Veja
também
:
mysql_num_rows(
)
,
mysql_info(
)
.