Obsuga baz danych w jezyku PHP

advertisement
Projektowanie serwisów WWW
Obsługa bazy danych w środowisku PHP
mgr inż. Łukasz Jopek
Instytut Informatyki Stosowanej PŁ
Wykorzystanie funkcjonalności baz danych może przynieść wiele korzyści dla
projektowanego serwisu WWW. Zazwyczaj głównym celem stosowania BD jest
przechowywanie różnego rodzaju danych (dane użytkowników, obrazy, teksty itp.). Poniższa
instrukcja zawiera podstawowe informacje pozwalające na użycie BD w tworzonym przez
Państwa serwisie WWW.
1. Łączenie się z Serwerem bazodanowych oraz bazą danych
Pierwszym krokiem jest ustanowienia połączenia z serwerem bazodanowym oraz
następnie z samą bazą. Serwer BD może być lokalny, lub zdalny – w przypadku
większych serwisów może stanowić osobny zestaw maszyn. Sposób połączenia w języku
PHP można zrealizować następująco:
<?php
/******************************************************
* funkcja „connection.php”
******************************************************/
function connection() {
// serwer
$mysql_server = "adres_serwera";
// admin
$mysql_admin = "uzytkownik";
// hasło
$mysql_pass = "haslo";
// nazwa baza
$mysql_db = "nazwa_bazy_danych";
// nawiązujemy połączenie z serwerem MySQL
@mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
or die('Brak połączenia z serwerem BD.');
// łączymy się z bazą danych
@mysql_select_db($mysql_db)
or die('Błąd polaczenia z wybrana baza danych.');
}
?>
Funkcja „connection.php” zapewnia zestawienie połączenia najpierw z wybranym
serwerem BD, a następnie z wybraną bazą. W przypadku niemożliwości zrealizowania
połączenia użytkownik otrzymuje stosowny komunikat. Sposób użycia funkcji
„connection.php” przedstawiony został poniżej:
<?php
// podłączamy plik connection.php
require "connection.php";
// wywołujemy funkcję connection()
connection();
?>
2. Korzystanie z bazy danych
Ideowy sposób korzystania bazy według Blake Schwendimana [1]:
<?php
połącz_z_bazą();
wybierz_bazę();
wyślij_zapytanie();
pobierz_wyniki();
while(isnieje_wiersz)
pobierz_wiersz();
zamknij_połączenie();
?>
W naszym przypadku funkcja connection.php realizuje dwie pierwsze pozycje (połączenia z
serwerem i sama bazą).
mysql_close();
Zamyka połączenia z BD.
Przykłady podstawowych zapytań języka SQL :
mysql_num_rows($wynik_zapytania) - zwraca ilość wierszy zwróconych przez zapytanie
mysql_num_fields($wynik_zapytania) - zwraca ilość pól zwróconych przez zapytanie
mysql_list_dbs($polaczenie) - zwraca wszystkie nazwy baz znajdujących się na serwerze
mysql_connect(host,uzytkownik,hasło) - połączenie z bazą danych
mysql_query($zapytanie) - wykonanie zapytania do bazy danych
3. Przykład zastosowania BD w serwisie WWW (dla bazdy danych MySQL)
<?php
// Łączenie z wybranym serwerem BD oraz samą bazą
$link = mysql_connect('serwer_BD', 'uzytkownik', 'haslo')
or die(Blad polaczenia z Serwerem BD' . mysql_error());
echo 'Polaczono pomyslnie';
mysql_select_db('nazwa_bazy_danych') or die('Blad polaczenia z bazda
danych');
// Przygotowywanie zapytania SQL
$query = 'SELECT * FROM my_table';
// Wykonanie zapytania SQL
$result = mysql_query($query) or die('Blad zapytania
SQL' . mysql_error());
// Prezentacja wyników wykonania zapytania na stronie WWW (w postaci
HTML)
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Zwalnianie zasobów
mysql_free_result($result);
// Zamykanie połączenia z wybraną BD
mysql_close($link);
?>
4.
Linki zewnętrzne:
Język SQL:
http://www.internetowy.strefa.pl/sql.pdf
http://www.php.rk.edu.pl/w/p/podstawy-jezyka-sql/
http://office.microsoft.com/pl-pl/access-help/jezyk-access-sql-podstawowe-pojeciasownictwo-i-skadnia-HA010256402.aspx
Bazy danych w środowisku PHP:
http://cauchy.pl/systemy/php-mysql/pobranie-danych-z-bazy-mysql/
http://php.net/manual/pl/book.mysql.php
http://www.php.pl/Wortal/Artykuly/PHP/Podstawy/Tutorial-PHP-MySQL/Wyswietlanieinformacji
Inne bazy danych:
http://phpmaster.com/using-an-access-database-with-php/ (baza danych MS ACCESS)
http://php.net/manual/pl/function.mssql-close.php (baza danych MS SQL)
http://php.net/manual/en/book.oci8.php (baza danych ORACLE)
Bazy danych i Bezpieczeństwo:
http://www.php.pl/Wortal/Artykuly/Bezpieczenstwo/Podstawy-bezpieczenstwa-skryptowPHP
http://www.wpk.p.lodz.pl/~moliktom/W6_php.pdf
[1] Blake Schwendiman „PHP4. Kompendium programisty”, 2002, ISBN:83-7197-521-X
Download