|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
mysql_affected_rows
(PHP 3, PHP 4, PHP 5) mysql_affected_rows -- Zwraca ilość
wierszy przetworzonych w poprzedniej operacji MySQL
Opisint 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().
|