mysql_affected_rows

 

PHP -> Funkcie -> MySQL funkcie PHP -> mysql_affected_rows

Syntax


int mysql_affected_rows ( [resource identifikátor_pripojenia] )

Popis


Príkaz jazyka PHP
Zistí počet riadkov, ktoré boli ovplyvnené predchádzajúcou operáciou.

mysql_affected_rows() vráti počet riadkov, ktoré boli ovplyvnené posledným dopytom typu INSERT, UPDATE alebo DELETE asociovanom s pripojením, ktoré je špecifikované v parametri identifikátor_pripojenia. Ak tento identifikátor pripojenia nie je uvedený, použije sa identifikátor z posledného volania funkcie mysql_connect.

Poznámka: Ak používate transakcie, volanie funkcie mysql_affected_rows() musí byť uskutočnené po vykonaní dopytu INSERT, UPDATE, či DELETE query, nie po odoslaní transakcie (operácia commit).

Ak posledný dopyt bol typu DELETE bez uvedenej klauzuly WHERE, odstránia sa síce všetky záznamy, ale táto funkcia vráti nulu.

Poznámka: Pri používaní dopytov UPDATE, MySQL nebude aktualizovať stĺpčeky, v ktorých je stará hodnota rovná novej hodnote. To môže spôsobiť situáciu, v ktorej sa návratová hodnota mysql_affected_rows() nemusí rovnať skutočnému počtu ovplyvnených riadkov. Jej návratovou hodnotou bude počet riadkov, ktoré boli naozaj zmenené, odstránené, či inak ovplyvnené dopytom.

mysql_affected_rows() nepracuje so dopytmi typu SELECT - len na dopytoch, ktoré modifikujú záznamy. Na zistenie počtu záznamov vrátených dopytom SELECT je potrebné použiť funkciu mysql_num_rows.

Ak posledný dopyt zlyhal, funkcia vráti -1.

Príklad


<?php
   /* pripojme sa k databáze */
   mysql_pconnect("localhost", "mysql_užívateľ", "mysql_heslo") or
       die("Nemožno sa pripojiť: " . mysql_error());

   /* toto by malo vrátiť správny počet odstránených záznamov */
   mysql_query("DELETE FROM mytable WHERE id < 10");
   printf ("Počet odstránených záznamov: %d\n", mysql_affected_rows());

   /* klauzula WHERE je v dopyte prázdna, funkcia by mala vrátiť 0 */
   mysql_query("DELETE FROM mytable");
   printf ("Počet odstránených záznamov: %d\n", mysql_affected_rows());
/*príklad vypíše nasledovné riadky:
Počet odstránených záznamov: 10
Počet odstránených záznamov: 0
*/

?>


Pozri aj


mysql_num_rows, mysql_info



vytlačiť článok  hľadať súvisiace články 

Chat ku článku

Vyhľadávanie na stránke
Reklama
Náhodný obrázok
náhodný obrázok
Kontakty

Martin Kasman, M Software
Smreková 3095/23
Email: martin@kasman.sk

Telefón: 0908 270 294