PHP i bazy danych -- MySQL...

 Wstęp

Język PHP jest obecnie chyba najpowszechniejszym językiem wykorzystywanym do tworzenia stron WWW. Wiele osób się nim interesuje ale -- podobnie jak to było ze mną i mikrokontrolerami -- myślą, że jest to zbyt trudne. O ile sam PHP dla kogoś, kto wcześniej programował nie jest trudny do opanowania (a określił bym go nawet jako łatwy), o tyle korzystanie z baz danych budzi już większe emocje i obawy... Zupełnie nieuzasadnione :)

 Od czego zacząć?

Zakładam, że masz jakieś pojęcie o PHP i umiesz wyświetlić nieśmiertelne "Hello world!". Jeśli chcesz korzystać z poziomu PHP z bazy danych, miło by było gdybyś taką bazę posiadał. Niech to będzie na przykład baza o nazwie mojabaza, na serwerze serwerbazy do której dostęp mamy przez login użytkownikbazy z hasłem hasłodobazy zaś baza "stoi" na MySQL.
Zakładam dalej, że znasz choć trochę SQL i potrafisz utworzyć (dowolnym narzędziem) tabele i wypełnić je danymi.

 Baza...

Ok, połączmy się z bazą:

user@server ~$ mysql -p -u użytkownikbazy -d mojabaza
Enter password: **hasłodobazy**
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 152 to server version: 3.23.32

Type 'help;' or '\h' for help. Type '\c' to clear the buffer

mysql>
Udało się, teraz stwórzmy tabelę
mysql> create table `tabelatestowa` (
    -> id int(5) NOT NULL auto_increment,
    -> opis text,
    -> PRIMARY KEY(`id`),
    -> UNIQUE KEY `id` (`id`)
    -> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.00 sec)
Także się powiodło. Wypadałoby teraz wrzucić do bazy jakieś dane, którymi potem moglibyśmy się bawić:
mysql> INSERT INTO `tabelatestowa` VALUES (NULL, 'Rekord pierwszy');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `tabelatestowa` VALUES (NULL, 'Rekord drugi');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `tabelatestowa` VALUES (NULL, 'Rekord kolejny');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `tabelatestowa` VALUES (NULL, 'Rekord nastepny');
Query OK, 1 row affected (0.00 sec)
W takim razie sprawdźmy co już mamy w bazie:
mysql> select * from tabelatestowa;
+----+-----------------+
| id | opis            |
+----+-----------------+
|  1 | Rekord pierwszy |
|  2 | Rekord drugi    |
|  3 | Rekord kolejny  |
|  4 | Rekord nastepny |
+----+-----------------+
4 rows in set (0.00 sec)
Skoro już mamy coś w bazie, to teraz przyszła kolej na wydobycie tego z poziomu PHP.
Najpierw połączmy się z bazą:
mysql_connect("serwerbazy","użytkownikbazy","hasłodobazy") or 
     die("Blad -- nie moge polaczyc sie z serwerem baz danych\n\n");
Teraz wybierzmy naszą bazę:
mysql_select_db("mojabaza") or
     die("Blad -- Nie moge wybrac bazy\n\n");
Pobierzmy wszystko z naszej tabeli:
$result=mysql_query("select * from tabelatestowa") or 
     die("Blad pobierania zawartosci tabeli\n\n");
while ($row = mysql_fetch_array($result))
 {
  echo "Numer ID rekordu: $row[id]";
  echo "Opis rekordu: $row[opis]";
 }
Zwolnijmy wyniki, nie będą nam już potrzebne:
mysql_free_result($result);

To właściwie koniec -- połączyliśmy się z bazą, przesłaliśmy zapytanie i odebraliśmy wynik. Wiedząc jak przebiega obsługa bazy, możemy np. dodać rekord, usunąć go czy zauktualizować. Polecam zapoznać się z doskonałą dokumentacją na stronach PHP i MySQL.

 Prawa autorskie

© Copyright by Miłowan Odya (jeśli nie zaznaczono inaczej)

Keywords: Miłowan Miłosz Milowan Milosz Odya Pigwa pigwa.rekords Atari Digispark DS1820 Arduino Irix PWSZ Elblag Elbl+g Immunix Trustix 8051 AVR Linux Polska Poland SCSI DS1820 DS18S20 DS18B20 Microcontroller Epia BP6 ftp