(PHP 3, PHP 4, PHP 5)
mysql_affected_rows -- Az előző MySQL műveletben érintett sorok számát adja megAz előző link_identifier-rel azonosított kapcsolatban kiadott INSERT, UPDATE vagy DELETE kérésben érintett sorok számát adja meg.
A MySQL kapcsolat. Ha a kapcsolatazonosító nincs megadva, akkor az utólsó mysql_connect()-el megnyitott kapcsolatot használja. Ha nem talál semmilyen kapcsolatot, megpróbál létrehozni egyet úgy, mintha a mysql_connect() paraméterek nélkül lett volna meghívva. Ha esetleg semmilyen kapcsolatot nem talál és nem is sikerül létrehoznia, akkor egy E_WARNING szintű figyelmeztetés generálódik.
Sikeres végrehajtás esetén az érintett sorok számát adja vissz, ha pedig a legutóbbi kérés sikertelen volt, a visszaadott érték -1.
Ha az utolsó lekérdezés egy WHERE feltétel nélküli DELETE volt, akkor bár a táblából minden sor törlődik, a MySQL 4.1.2. előtti verzióiban a függvény nullát fog visszaadni.
Ha UPDATE-tel használod, a MySQL nem fogja azokat a sorokat frissíteni, ahol a sor régi és új értéke megegyezik. Így nem kizárt, hogy a mysql_affected_rows() függvény nem pont az egyező sorok számát adja vissza, hanem csak a ténylegesen megváltoztatott sorok számát.
A REPLACE utasítás először kitörli a megfelelő elsődleges kulcsú rekordot, majd beszúr egy újat. Ez a függvény a törölt sorok számát + a beszúrt sorok számát adja vissza.
Példa 2. mysql_affected_rows() példa tranzakciók használatával
A fenti példa valami ilyesmi kimenetet ad:
|
Tranzakciók: Ha használsz tranzakciókat, akkor az INSERT, UPDATE vagy DELETE kérésed után kell meghívnod a mysql_affected_rows() függvényt, és nem a COMMIT után.
SELECT utasítás: Ha egy SELECT által visszaadott sorok száma érdekel, akkor használhatod a mysql_num_rows() függvényt.