mysql_affected_rows

(PHP 3, PHP 4, PHP 5)

mysql_affected_rows -- Zwraca ilość wierszy przetworzonych w poprzedniej operacji MySQL

Opis

int mysql_affected_rows ( [resource identyfikator_połączenia] )

mysql_affected_rows() zwraca ilość wierszy przetworzonych w ostatniej operacji INSERT, UPDATE lub DELETE na serwerze skojarzonym z podanym identyfikatorem połączenia. Jeżeli identyfikator połączenia nie został podany, domyślnie wykorzystywane jest ostatnie połączenie otwarte przez mysql_connect().

Notatka: Przy korzystaniu z transakcji, funkcję mysql_affected_rows() należy wywołać po operacjach INSERT, UPDATE lub DELETE, a nie po zatwierdzeniu (commit).

Jeżeli ostatnim zapytaniem było DELETE bez użycia WHERE, wszystkie rekordy zostały usunięte z tabeli, ale funkcja zwróci zero.

Notatka: Podczas operacji UPDATE, MySQL nie aktualizuje kolumn w których nowa wartość jest identyczna z poprzednią. Możliwe jest zatem, że zwrócona przez mysql_affected_rows() liczba nie będzie odpowiadać liczbie wierszy pasujących do zapytania, ale tych, które zostały faktycznie zmienione.

mysql_affected_rows() nie ma zastosowania do operacji SELECT, lecz tylko do operacji, które modyfikują rekordy. Aby uzyskać liczbę wierszy zwróconych przez SELECT, użyj funkcji mysql_num_rows().

Jeśli ostatnie zapytanie nie powiodło się, funkcja zwróci -1.

Przykład 1. Zapytanie DELETE

<?php
/* łączenie z bazą */
mysql_pconnect('localhost', 'uzytkownik', 'haslo') or
    die(
"Nie można się połączyć: " . mysql_error());

/* to powinno zwrócić poprawną liczbę usuniętych rekordów */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Usuniętych rekordów: %d\n", mysql_affected_rows());

/* bez warunku 'where' zwrócone zostanie 0 */
mysql_query("DELETE FROM mytable");
printf ("Usuniętych rekordów: %d\n", mysql_affected_rows());
?>

Powyższy przykład da następujący wynik:
Usuniętych rekordów: 10
Usuniętych rekordów: 0

Przykład 2. Zapytanie UPDATE

<?php
/* łączenie z bazą */
mysql_pconnect('localhost', 'uzytkownik', 'haslo') or
    die(
"Nie można się połączyć: " . mysql_error());

/* aktualizacja rekordów */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Zaktualizowanych rekordów: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

Powyższy przykład da następujący wynik:
Zaktualizowanych rekordów: 10

Patrz także: mysql_num_rows(), mysql_info().



Język PHP to dzisiaj powszechnie przyjęty standard, podstawa tworzenia dynamicznych stron WWW, opartych na bazach danych.

PHP to język skryptowy. Znaczy to, że jest to język nie kompilowalny. Program jest wykonywany przez interpreter na podstawie jego kodu źródłowego. Język PHP to element technologii internetowej SERVER-SIDE. Znaczy to, że kod języka jest wykonywany od strony serwera (na serwerze).

W jakim celu używac PHP? Po co to komu?

Załóżmy, że potrzebujemy takiej strony internetowej, która wyświetli zawsze bieżącą datę. Dzięki technologii PHP, datę i godzinę odczytywać można z miejsca gdzie wykonuje się skrypt, np. gdy serwer znajduje się w USA a my w Polsce to widoczna jest różnica w czasie który zostanie wyświetlony.

dom pasywny CV hindi toxic pollution Generator Prądu typ: 6GFLDE praca Mysłowicekaszuby domki, powiększanie ust, osobiste konta bankowe, tworzenie stron