mysql_affected_rows

mysql_affected_rows – Vráci počet řádků, které byli ovlivněny poslední operaci.

Syntaxe:

int mysql_affected_rows ( [resource link_identifier] )

mysql_affected_rows() Vráci počet řádků, které byli ovlivněny příkazy INSERT, UPDATE, DELETE, a na které se odkazuje ukazatel link_identifier. V případě, že ukazatel je prázdny , pak funkce použije poslední úspěšné připojení, vykonané pomocí funkci mysql_connect().

V případě, že poslední příkaz byl DELETE bez upřesnění WHERE, což znamená, že tabulka bude vyprázdněna, pak funkce vráti 0.

Poznámka: Pokud používate UPDATE, MySQL neaktualizuje záznamy, které jíž mají novou hodnotu. V důsledku, funkce mysql_affected_rows() ne vždy vráci počet řádků vyhovujících předpokladu, ale jenom počet aktualizovaných řádků.

mysql_affected_rows() nefunguje s funkci SELECT, ale jenom s příkazy, které modifikují neboli mění tabulku. Abyste dostali počet řádků pro funkci SELECT musíte použít funkci mysql_num_rows().

Příklad 1. Příkaz DELETE:

<?php
   //Spojení s databázi
    
mysql_connect("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("db");
        
   
//V tomto případě funkce vráti 5 modifikovaných řádků
    
mysql_query("DELETE FROM `table` WHERE `id` < 5");
    
printf ("Vymazáno záznamu: %d\n"mysql_affected_rows());

    
//Bez upřesňující funkci WHERE budou odstraněný všechny řádky z tabulky
    //Funkce vráti 0
    
mysql_query("DELETE FROM `table`");
    
printf ("Vymazáno záznamu: %d\n"mysql_affected_rows());
?>

První příklad vráti:

Vymazáno záznamu: 5
Vymazáno záznamu: 0

Příklad 2. Příkaz UPDATE:

<?php
   //Spojení s databázi
    
mysql_connect("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("db");
        
    
//Aktualizujeme tabulku 
    
mysql_query("UPDATE `table` SET `surčitý_sloupec_tabulky`=1 WHERE `id` < 5");
    
printf ("Aktualizovaných záznamů: %d\n"mysql_affected_rows());
?>

Druhý příklad vráti:

Aktualizovaných záznamů: 5

Viz také: