Menu
- Aktualności
- Mój startup Nowy odcinek
- Blogi ekspertów
- Projektowanie WWW
- Planowanie
- Hosting i domeny
- Organizacja i nawigacja
- Webdesign i grafika
- Warsztat - programy
- Tutoriale Photoshop
- Programowanie i tworzenie
- XHTML, HTML i CSS
- JavaScript, DOM i AJAX
- jQuery
- PHP i SQL
- Flash i ActionScript
- Dostępność i WAI
- Promowanie stron
- Pozycjonowanie
- Reklama i marketing
- Monitoring i statystyki
- Publicystyka
- Artykuły ogólne
- Społeczności
- Praca i zarabianie
- Wywiady
- Standardy sieciowe
- Zasoby
- Kursy
- Recenzje książek
- Linki
Dla webmastera
Kursy
Operacje na MySQL
Operacje na MySQL
Najważniejszą zaletą dynamicznego programowania stron WWW jest możliwość łatwej zmianie zawartości witryny. Przy małych serwisach, zawierających kilka tekstów, przechowywanie poszczególnych stron w dokumentach HTML nie stanowi problemu. Jednak gdy tylko materiałów jest wiecęj pojawia się problem - jak ułatwić sobie robotę w administracji stroną. Rozwiązanie jest proste: przenieść wszystkie informacje w jakieś miejsce i utworzyć skrypty odpowiedzialne za odczyt. Najlepszym rodzajem tego "miejsca" jest baza danych.
Baza danych to dane podzielone na poszczególne tabele, a te podzielone są na kolumny i wiersze. Analogią w życiu codziennym jest dziennik uczniów w szkole. Kolumny odpowiedzialne są za podział danych ze względu na typ informacji w nich zawartych, wiersze za podział tych informacji względem jakiejś osoby, przedmiotu itp., natomiast tabele za typ danych zawartych w niej informacji. Na przykład tabela odzwierciedlająca dziennik wyglądała by tak:
| Lp. | Nazwisko | Imię | Ocena1 | Ocena2 | Zachowanie |
| 1. | Pancernik | Alfred | 1 | 2 | dobre |
| 2. | Koprofil | Władysław | 5 | 4 | naganne |
W takiej bazie danych znajduje się mnóstwo tabel, w zależności od użytkownika.
Postanowiłem omówić tylko jeden rodzaj bazy danych - MySQL, ponieważ gdybym chciał z osobna opisywać każdą bazę, to zajęłoby to dużo miejsca. Tak więc na wstępie zakładam, że używasz bazy MySQL, a jeżeli nie, to w manualu PHP odnajdziesz odpowiednie funkcje obsługujące bazy danych.
MySQL to system baz danych. Możliwe jest utworzenie w nim kont użytkowników, które będą miały ustaloną liczbę możliwych baz do stworzenia itp. No dobra, koniec teorii, teraz praktyka, czyli obsługa w PHP.
Aby móc korzystać z bazy danych musisz, oczywiście oprócz zainstalowania jej i uruchomienia, się z nią połączyć. Służy do tego funkcja mysql_connect(), która zwraca wskaźnik połączenia. Argumentami tej funkcji jest adres do bazy, nazwa użytkownika i hasło. Wszystkie te argumenty są opcjonalne, czyli można je pominąć, oczywiście jeżeli odpowiada to zabezpieczeniom bazy.
Po ustanowieniu połączenia do konta systemu baz należy wybrać bazę. Do tej czynności służy funkcja mysql_select_db(), której argumentami są nazwa bazy danych i opcjonalnie wskaźnik połączenia. Możesz łączyć się tylko z dostępnymi bazami. W celu utworzenia nowej musisz wysłać do systemu baz danych polecenie "CREATE DATABASE nazwa".
Do wysyłania poleceń służy mysql_query(). Argumentami tej funkcji są łańcuch z poleceniem oraz opcjonalny wskaźnik połączenia. Jeżeli polecenie ma zwracać jakąś wartość (np. SELECT), to mysql_query() zwraca wskaźnik do wyników. Wskaźnik ten wykorzystywany jest przez kolejne omówione w tym rozdziale funkcje.
Pierwszą funkcją do obługi wyników jest mysql_fetch_row(). Zwraca ona zwykłą tablicę, której poszczególne elementy to uporządkowane kolumny tabeli. Tablica ta jest odwzorowaniem jednego wiersza w tabeli. Argumentem tej funkcji jest wskaźnik do wyników.
Drugą funkcją obsługującą wyniki jest mysql_fetch_array(). Zwraca ona tablicę asocjacyjną, której poszczególne indeksy odpowiadają nazwą kolumn w tabeli. Oczywiście zwracany jest tylko jeden wiersz w tabeli. Potrzebuje tego samego argumentu co mysql_fetch_row().
Ostatnią funkcją zwracającą wyniki jest mysql_fetch_object(). Zwraca on obiekt, którego poszczególne pola są nazwami kolumn w tabeli. Posiada takie same właściwości co dwie wcześniejsze funkcje.
Ważna przy pobieraniu informacji jest informacja, że po odczytaniu jednego wiersza z tabeli wskaźnik danych przenosi się do następnego wiersza. Jeżeli wskaźnik ten natrafi na koniec wyników zwracana jest, przez trzy powyższe funkcje, wartość FALSE.
PHP pozwala na sprawdzenie ile wierszy zostało zwróconych przez polecenie. Służy do tego funkcja mysql_num_rows(), której argumentem jest wskaźnik do wyników. Jeżeli polecenie nie zwróciło żadnego wiersza funkcja zwraca wartość 0.
Aby przenieść się do danego wiersza wyników trzeba użyć funkcji mysql_data_seek(). Jej argumentami są wskąźnik do wyników i numer wiersza liczony od 0 (tak jak każda tablica w PHP)!
Jeżeli polecenie zawiera błąd można go odczytać. Służy do tego funkcja mysql_error(), która zwraca łańcuch jeżeli istnieje błąd. Łańcuch ten zawiera szczegółowe informacje o błędzie.
Gdy już wykonamy poszczególne czynności możemy zamknąć połączenie funkcją mysql_close().
A na koniec przykład odczytu informacji z tabeli o strukturze:
id int
nazwisko varchar(40)
imie varchar(40)
ocena int
<?PHP
$pol = mysql_connect();
mysql_select_db("baza");
$wyn = mysql_query("SELECT * FROM users");
if (mysql_num_rows($wyn)>0) {
echo '<table cellpadding="1" border="1" cellspacing="0">';
while ($tab = mysql_fetch_array($wyn))
echo '<tr><td>'.$tab['id'].'</td><td>'.$tab['nazwisko'].'</td><td>'.$tab['imie'].'</td><td>'.$tab['ocena'].'</td></tr>';
echo '</table>';
}
mysql_close($pol);
?>
Jeżeli chcesz poznać więcej funkcji obsługujących MySQL użyj manuala PHP.
Na tym rozdziale kończy się mój kurs PHP. Starałem się w nim przekazać całą teoretyczną wiedzę na temat tego języka, mam nadzieję, że mi się to udało. Pamiętaj: to że poznałeś teorię nie oznacza, że znasz się na programowaniu w PHP. Na opanowanie tego języka, by móc w nim programować z łatwością i nie zaglądając do manuala, potrzebujesz kilku miesięcy praktyki. Ćwiczyć możesz tworząc projekty aplikacji np. ksiąg gości czy sond, tak na początek, potem możesz zająć się forum. Ja się tak uczyłem i wiem, że jest to skuteczne. Powodzenia!

