Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Tutorial PHP/MySQL

Konfiguracja bazy danych

Zanim zaczniesz tworzenie skryptów, musisz mieć utworzoną bazę, aby mieć możliwość umieszczania w niej danych. W tej części pokażę Ci, jak w prosty sposób utworzyć nową bazę danych i przygotować ją do przyjęcia danych. Zacznę również przedstawiać proces tworzenia bazy do zarządzania kontaktami.

Budowa bazy danych

Wszystkie bazy danych MySQL mają standardową strukturę. Pojedyncza baza danych składa się z tabel, z których każda pomimo faktu, że jest częścią bazy, jest całkowicie niezależna i może mieć różną konstrukcję. W tabelach umieszczamy rekordy, które z kolei składają się z określonych pól.

Logowanie się do bazy danych

Proces konfiguracji MySQL zależy od właściciela serwera, jednak do zalogowania się potrzebujesz znać tylko nazwę bazy oraz użytkownika wraz z hasłem.

Jeśli używasz PHPMyAdmin (lub podobnego programu do zarządzania MySQL) utworzenie bazy sprowadza się tylko do podania loginu i hasła użytkownika oraz nazwy nowej bazy.

Tworzenie tabeli

Kiedy już dysponujemy nową bazą, musimy utworzyć tabele. Tabela jest częścią bazy danych służącą do gromadzenia powiązanych ze sobą informacji. W niej dobierzesz zestaw kolumn, którymi będziesz się posługiwał. Dzięki takiej konstrukcji, prawie wszystkie nasze informacje mogą być przechowywane w jednej bazie danych.

Utworzenie tabeli w phpMyAdmin jest dziecinnie proste - wystarczy wpisać nazwę tabeli, wybrać liczbę kolumn i nacisnąć odpowiedni przycisk. Zostaniesz przeniesiony do formularza tworzenia poszczególnych pól. Jeśli zamiast phpMyAdmina używasz własnego skryptu do tworzenia tabeli, cała operacja musi być zawarta w jednym zapytaniu.

Pola

MySQL udostępnia szeroki wybór typów pól oraz ich atrybutów. Wymienię tutaj tylko niektóre z nich:

TINYINT

Mała liczba całkowita (Small Integer Number)

SMALLINT

Mała liczba całkowita (Small Integer Number)

MEDIUMINT

INT

Liczba całkowita (Integer Number)

VARCHAR

Tekst. Maksymalnie 256 znaków.

TEXT

Dowolnie długi tekst.

Jest to tylko kilka z udostępnianych rodzajów pól. W Internecie z łatwością można znaleźć pełną listę pozostałych typów.

Tworzenie tabeli przy pomocy PHP

Utworzenie tabeli z poziomu skryptu PHP jest znacznie trudniejsze od użycia do tego celu PHPMyAdmina. Zapytanie wygląda następująco:

CREATE TABLE nazwa_tabeli {
Pola
}

Pola są definiowane w następujący sposób:

nazwa_pola typ(ilość_znaków) dodatkowe atrybuty,

Ostatnia definicja kolumny nie może kończyć się przecinkiem, gdyż spowoduje to wystąpienie błędu składni SQL.

W dalszej części tego rozdziału pokażę przykład wykorzystania tego rodzaju zapytań.

Baza kontaktów

Będzie ona zawierać będzie wszelkie informacje kontaktowe ludzi, których dane zechcesz wpisać. W każdym momencie będzie istniała możliwość wykonania wszystkich operacji na kontaktach z sieci Internet. Poniższe pola będą potrzebne do utworzenia tabeli:

id

INT

6

Unikalny identyfikator każdego rekordu

first

VARCHAR

15

Imię osoby

last

VARCHAR

15

Nazwisko

phone

VARCHAR

20

Numer telefonu stacjonarnego

mobile

VARCHAR

20

Numer telefonu komórkowego

fax

VARCHAR

20

Numer faxu

email

VARCHAR

30

Adres e-mail

web

VARCHAR

30

Strona domowa

Zapewne możesz zadać sobie pytanie, dlaczego użyłem typu tekstowego dla kolumn zawierających numery telefonów i faxu, skoro telefony składają się z cyfr. Możliwe jest użycie typów liczbowych, lecz osobiście preferuję varchar, który umożliwi wprowadzanie myślników i odstępów w numerze, a nawet użycie notacji tekstowej (na przykład 0-800-FIRMA).

Rzeczą na którą szczególnie powinieneś zwrócić uwagę jest pole id, które zostanie ustawione jako PRIMARY, INDEX, UNIQUE a dodatkowo z parametrem 'auto_increment' (pole EXTRA/DODATKOWO w PHPMyAdmin). Konsekwencją takich atrybutów będzie ustawienie pola id jako klucza głównego tabeli). Właściwość 'auto_increment' spowoduje automatyczne nadawanie każdemu, nowo wstawianemu rekordowi, kolejnego dostępnego identyfikatora.

Jeśli korzystasz z PHPMyAdmina, możesz teraz w prosty sposób utworzyć nową tabelę.

Tworzenie tabeli przy pomocy własnego skryptu PHP

Poniższy kod pozwoli nam utworzyć tę tabelę w PHP. Część kodu nie została jeszcze do końca wyjaśniona, lecz postaram się to zmienić w dalszej części artykułu.

<?
$user = 'username';
$password = 'password';
$database = 'database';

mysql_connect('localhost', $user, $password);
@mysql_select_db($database) or die("Nie udało się wybrać bazy danych");

$query= "CREATE TABLE contacts (id int(6) NOT NULL auto_increment, first varchar(15) NOT NULL, last varchar(15) NOT NULL, phone varchar(20) NOT NULL, mobile varchar(20) NOT NULL, fax varchar(20) NOT NULL, email varchar(30) NOT NULL, web varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";

mysql_query($query);
mysql_close();
?>

Oczywiście musisz wpisać nazwę swojej bazy danych, login i hasło w pierwszych trzech linijkach skryptu.

W kolejnej części pokażę Ci jak połączyć się z bazą danych z poziomu skryptu PHP oraz metodę dodawania nowych informacji do Twojej nowej bazy danych.
Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (7)
gdzie link?
Piątek 15 Lipiec 2011 12:45:10 pm - beneglih

Fajny tutorial, tylko dlaczego na jego końcu jest informacja, że skrypt można pobrać, dwukropek i puste miejsce, brak linka...

ort
Sobota 13 Marzec 2010 10:02:17 pm - katwer <katwer_at_op.pl>

Co jak co, ale artykuł do druku na poważnym portalu, to już powinien przejść przez standardowe sprawdzanie pisowni choćby zautomatyzowane, jeśli autor nie wie, jak się pisze HASŁO.

Sorry, ale takie lekceważenie języka polskiego - musiałam.

pytanie
Niedziela 01 Lipiec 2007 8:56:38 pm - bercik156 <fifunia07_at_wp.pl>

mam pytanie jak zmienić w bazie danych język żeby na stronie były polskie znaki??

złeeee
Poniedziałek 07 Maj 2007 9:01:03 am - wbeatn <wbeatn_at_gmail.com>

dlaczego w tym artykule jest podany bledny kod ? strona z dodawaniem do bazy mi dziala, to samo jest ze strona ktora wyswietla rekordy, ale strona ktora ma wyswietlic formularz edytujacy wywala blad 'Warning: mysql_numrows(): supplied argument is not a valid MySQL ...' .. robie wszystko wedlug instrukcji i takie cos :/

Dłąd :D
Sobota 25 Listopad 2006 11:38:44 pm - sabistik <wiktorski_at_poczta.php.pl>

haha, Czemu nikt wcześniej tego nie zraportował:
http://irc.php.pl/blog/?id=392
?? ;D

Wyjaśnienie małe
Piątek 27 Październik 2006 9:26:17 pm - slump <slump_Ilawa_at_wp.pl>

Twoje sugestje są jak najbardziej trafne, jednak pamiętaj, że jest to tylko translacja arta z języka Angielskiego.
Pozdrawiam

Kilka luźnych uwag
Czwartek 26 Październik 2006 12:12:12 pm - Diabl0

Rozumiem że jest to art dla totalnie początkujących i przeglądałem go bardzo pobieżnie, ale mimo wszystko mam kilka zastrzeżeń:

1 - instalowanie phpmyadmin na serwerze bez odpowiedniego zabezpieczenia go - kto się opiekuje serwerami niech spojrzy sobie w logi jak często trafiają się roboty szukające phpmyadmin - nie sądzę aby szukały one sobie tylko z czystej ciekawości. Trzeba było przynajmniej napisać jak go zabezpieczyć przez .htaccess

2 - SQL incjection - wstawianie danych pochodzących od usera prosto do bazy bez sprawdzenia i zabezpieczenia. Temat ten wszędzie jest tak często wałkowany że tutorial dla początkujących z takim błędem to duży imho duża porażka. Aż tak ciężko było poświęcić dwa akapity na wyjaśnienie zagrożenia i zaproponowanie chociażby mysql_escape_string?

3 - nie wiem skąd takie parcie na while ($i < $num) i każdorazowe przepisywanie danych? IMHO dużo wygodniejsze (zwłaszcza dla początkujących, a nie wiem też czy nie szybsze) jest while ($row = mysql_fetch_assoc($ret).

4 - drobiazg, ale: <? :) <?php jest bardziej prawidłowe zwłaszcza że już słyszałem jakieś pogłoski że <? ma zostać z czasem usunięte :)

5 - formatowanie kodu - ja rozumiem że system znaczników na php.pl może utrudniać zachowanie wcięć itp, ale skoro to jest tutorial dla początkujących to przydało by się też zadbać o uczenie ich dbałości o wygląd kodu i jego staranniejsze formatowanie - to naprawdę ułatwia w przyszłości życie a dzięki odrobiny praktyki stosuje się praktycznie odruchowo.

To takie moje drobne uwagi po pobieżnym przejrzeniu arta (głównie fragmentów kodu) . Nie jest to żadna miażdżąca krytyka - po prostu wychodzę z założenia że o ile w arcie dla doświadczonych programistów nawet nie było by sensu zwracać na to uwagi (w końcu każdy i tak ma już wyrobione własne nawyki i przyzwyczajenia), to jednak w arcie dla początkujących warto położyć większy nacisk na tego typu drobiazgi aby od początku wtłaczać i wyrabiać w nich dobre nawyki.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2021 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System