Zaawansowane bazy danych i hurtownie danych



Podobne dokumenty
Bazy Danych i Usługi Sieciowe

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Internetowe bazy danych

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Autor: Joanna Karwowska

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Instalacja MySQL.

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Wykład 5: PHP: praca z bazą danych MySQL

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Bazy Danych i Usługi Sieciowe

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PHP + MySQL w laboratorium (1)

Dlaczego PHP? - zalety

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Systemy internetowe Wykład 3 PHP

Programowanie w internecie

Podstawy programowania III WYKŁAD 2

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Obiektowe bazy danych

Umieszczanie kodu. kod skryptu

5. Współpraca z bazą danych MySQL

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Internetowe bazy danych

Zarządzanie systemami informatycznymi. Pojęcie systemu informatycznego Tworzenie interaktywnego oprogramowania internetowego w PHP

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Bazy Danych i Usługi Sieciowe

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

PODSTAWY BAZ DANYCH 13. PL/SQL

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

PHP. PHP: Hypertext Preprocessor. mgr inż. Remigiusz Pokrzywiński

Baza danych do przechowywania użytkowników

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

15. Funkcje i procedury składowane PL/SQL

Język SQL, zajęcia nr 1

Bazy Danych i Usługi Sieciowe

Aplikacje internetowe

Bazy danych i usługi sieciowe

Bazy danych. dr Radosław Matusik. radmat

PHP: bloki kodu, tablice, obiekty i formularze

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Języki programowania wysokiego poziomu. PHP cz.2.

Bazy danych i strony WWW

Aplikacje WWW - laboratorium

Zaawansowane bazy danych i hurtownie danych studia niestacjonarne II stopnia, sem. I

Aplikacje WWW - laboratorium

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Należy ściągnąć oprogramowanie Apache na platformę

Oczywiście plik musi mieć rozszerzenie *.php

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Relacyjne bazy danych. Podstawy SQL

Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie. 20 października 2013

Wykład 5. SQL praca z tabelami 2

Wykład 05 Bazy danych

Języki programowania wysokiego poziomu. PHP cz.1.

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Internetowe bazy danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

SQL 4 Structured Query Lenguage

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Zajęcia 11 wykorzystanie MySQL w PHP

Bazy danych. Dr inż. Paweł Kasprowski

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Relacyjne bazy danych. Podstawy SQL

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Tworzenie aplikacji w języku Java

Bloki anonimowe w PL/SQL

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07

I.Wojnicki, JiTW. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

Plan wykładu BAZY DANYCH II WYKŁAD 5. Kolekcje. Tablice asocjacyjne Kolekcje Tablice asocjacyjne VARRAY Tablice zagnieżdżone

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

SYSTEMY TELEINFORMATYCZNE

Bazy danych w PHP dla początkujących

Programowanie internetowe

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Hurtownia Świętego Mikołaja projekt bazy danych

Politechnika Częstochowska. Projektowanie systemów użytkowych II

Programowanie w języku Java. Bazy danych SQLite w Javie

APLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A

NARZĘDZIA WIZUALIZACJI

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Żeby korzystać z opisywanego modułu, należy go włączyć do kompilowanej wersji interpretatora PHP:

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

SIECI KOMPUTEROWE I BAZY DANYCH

Podstawy programowania (PHP/Java)

Transkrypt:

Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych MySQL studia zaoczne II stopnia, sem. I WYKŁAD 3: PHP, Złącze PHP-MySQL Agnieszka Oniśko, Małgorzata Krętowska MySQL a API Serwer MySQL Sesja klienta Connector/NET Connector/C++ Connector/J Connector/MXJ... Connector/ODBC Visual Studio Plugin Connector/OpenOffice.org Aplikacja klienta Klient.NET API, ADO.NET C++ API Java API PHP API Perl API Python API... OpenOffice Baza ćwiczeniowa PHP PHP obiektowy, skryptowy język programowania zaprojektowany do generowania dynamicznych stron internetowych. PHP (Hypertext Preprocessor) najczęściej stosuje się do przetwarzania skryptów po stronie serwera WWW, ale może być on również używany z poziomu wiersza poleceń oraz w aplikacjach pracujących w trybie graficznym np. przy pomocy bibliotek.

PHP PHP PHP Tools 1.0 (1995) PHP/FI 2.0 (1997) PHP 3 (1998) PHP 4 (2000) PHP 5 (2004) PHP 6 PHP umożliwia współpracę z wieloma rodzajami źródeł danych: systemy zarządzania bazami danych pliki tekstowe dokumenty XML serwisy WWW RUBY PHP Zmienne 1. Składnia PHP bazuje na składni języków C, Java oraz Perl 2. Cały kod PHP musi zawierać się pomiędzy znacznikami: oraz 3. Starsze wersje dopuszczały także parę znaczników <? oraz (niezalecane, w PHP 6 nie będą dostępne) 4. PHP obsługuje większość znanych baz danych: MySQL, Postgres, Oracle, MS SQL, DB2 $To_jest_zmienna; $To nie jest zmienna; $To_tez_jest_zmienna_123;

Stałe Zmienne (super)globalne define( ROK", "2009"); echo Jest rok ".ROK; echo PHP_VERSION; $_GET: zawiera zmienne przekazane do skryptu za pomocą metody HTTP GET $_POST: zawiera zmienne przekazane do skryptu za pomocą metody HTTP POST $_SERVER, $_REQUEST, $_ENV, $_SESSION, $_COOKIE, $_FILES Typy danych Funkcje is_*() Boolean Integer Float, double String Object Array Null is_null() is_string() is_int() is_double() is_bool() is_array() is_numeric() is_resource()

Operatory Operator? Konkatenacja: Hello. world += == -=!= *= === /= > %= <.= <= $x++ >= $x--, or &&, and xor! $humor = zly"; $text = ($humor == dobry")? Jestem w dobrym humorze!" : Jestem w $humor humorze."; echo "$text"; Instrukcja warunkowa Instrukcja switch $mood = "sad"; if ($mood == "happy") { echo "Hooray, I'm in a good mood!"; elseif ($mood == "sad") { echo "Awww. Don't be down!"; else { echo "Neither happy nor sad but $mood."; $mood = "sad"; switch ($mood) { case "happy": echo "Hooray, I'm in a good mood!"; break; case "sad": echo "Awww. Don't be down!"; break; default: echo "Neither happy nor sad but $mood."; break;

Instrukcje iteracyjne Instrukcje iteracyjne $licznik = 1; while ($licznik <= 12) { echo $licznik." razy 2 wynosi ".($licznik * 2)."<br/>"; $licznik++; $num = 1; do { echo Wartosc rowna sie: ".$num."<br/>"; $num++; while (($num > 200) && ($num < 400)); for ($licznik=1; $licznik<=12; $licznik++) { echo $licznik." razy 2 wynosi ".($licznik * 2)."<br/>"; Instrukcje iteracyjne echo "<table style=\"border: 1px solid black;\"> \n"; for ($y=1; $y<=12; $y++) { echo "<tr> \n"; for ($x=1; $x<=12; $x++) { echo "<td style=\"border: 1px solid black; width: 25px; padding: 4px; text-align:center;\">"; echo ($x * $y); echo "</tr> \n"; echo "</table>"; echo "</td> \n"; Instrukcje iteracyjne wynik działania

Funkcje Przekazywanie parametrów przez wartość/referencję function suma($a, $b) { $wynik = $a + $b; return $wynik; echo suma(1,2); function dodaj5($num) { $num += 5; $orignum = 10; dodaj5($orignum); echo $orignum; function dodaj5(&$num) { $num += 5; $orignum = 10; dodaj5($orignum); echo $orignum; Komentarze /* To jest komentarz wieloliniowy, zamykany znacznikiem: */ Komentarz jednoliniowy: //to jest komentarz jednoliniowy, który nie potrzebuje zamknięcia #to jest komentarz jednoliniowy, który nie potrzebuje zamknięcia Tablice $to_jest_tablica = array ( element1, element2, element3, element4 ); $to_jest_tablica[] = element1 ; $to_jest_tablica[] = element2 ; $to_jest_tablica[] = element3 ; $to_jest_tablica[] = element4 ; $to_jest_tablica[0] = element1 ; $to_jest_tablica[1] = element2 ; $to_jest_tablica[2] = element3 ; $to_jest_tablica[3] = element4 ; $to_jest_tablica = array ( element1, element2, element3 ); $to_jest_tablica[] = element4 ;

Tablice asocjacyjne $osoba = array ( nazwisko => Kowalski, zawod => informatyk, wiek => 30, plec => mężczyzna ); echo $osoba[ zawod ]; Tablice wielowymiarowe $osoby = array( array( "nazwisko" => "Kowalski", "zawod" => "informatyk", "wiek" => 30, "plec" => "mężczyzna"), array( "nazwisko" => "Sakowicz", "zawod" => "księgowa", "wiek" => 24, "plec" => "kobieta"), array( "nazwisko" => "Halek, "zawod" => "architekt", "wiek" => 45, "plec" => "kobieta )); Tablice wielowymiarowe Tablice wielowymiarowe: Funkcje echo $osoby[1]; echo $osoby[1][ zawod ]; foreach ($osoby as $i) { while (list($k, $v) = each ($i)) { echo "$k... $v <br/>"; count(), sizeof() each(), list() foreach() reset() zwraca pierwszy element tablicy array_push() umieszcza element na jako ostatni w tablicy array_pop() zraca element ostatni i usuwa go array_unshift() wstawia elementy na początku tablicy array_shift()- zwaraca element 1; usuwa go; modyfikuje numerację array_merge() łączy tabele array_keys() zwraca klucze tabeli array_values() zwraca wartości z tabeli shuffle() losowy porządek elementów w tablicy

Tablice wielowymiarowe: Funkcje Funkcje obsługi złącza PHP - MySQL $tablica = array("one", "two", "three"); reset($tablica); while (list(, $value) = each($tablica)) { echo "Value: $value<br />\n"; foreach ($tablica as $value) { echo "Value: $value<br />\n"; mysql_connect() połączenie się z serwerem MySQL mysql_close() zamknięcie połączenia z serwerem MySQL mysql_errno() zwraca numer błędu ostatniego polecenia MySQL mysql_error() zwraca komunikat błędu ostatniego polecenia MySQL mysql_select_db() wybór bazy MySQL mysql_query() przesłanie polecenia SQL do serwera MySQL mysql_fetch_row() załadowanie wiersza mysql_free_result() zwolnienie pamięci Łączenie z serwerem bazy: mysql_connect() PHP: Łącznie się z serwerem MySQL $mysql_link = mysql_connect ( nazwa hosta, nazwa użytkownika hasło, nazwa bazy ) $mysql_link = mysql_connect ( localhost, kowalski hasło_kowalskiego, moja_baza ) $polaczenie = mysql_connect("localhost", uzytkownik", haslo ); if (mysql_errno()) { printf("brak polaczenia: %s\n", mysql_error()); else { exit(); echo "Jest polaczenie! <br>\n";

Funkcje błędów połączenia Informacja o hoście $polaczenie = mysqli_connect("localhost", uzytkownik", haslo ); printf("informacja o hoście: %s\n", mysql_get_host_info($mysql_link)); if (mysqli_connect_errno()) { printf("połączenie nie powiodło się: %s\n", mysqli_connect_error()); exit(); Połączenie z serwerem bazy: Przykład I $mysql = mysql_connect("localhost", "joeuser", "somepass", "testdb"); if (mysql_errno()) { else { printf("połączenie nie powiodło się: %s\n", mysql_error()); exit(); printf("informacja o hoście: %s\n", mysql_get_host_info($mysql)); mysql_close($mysql); Połączenie z serwerem bazy: Przykład II $mysql = mysql_connect("localhost", "joeuser", "somepass ); if (mysql_errno()) { else { printf("połączenie nie powiodło się: %s\n", mysql_error()); exit(); printf("informacja o hoście: %s\n", mysql_get_host_info($mysql)); mysql_select_db( testdb, $mysql); mysql_close($mysql);

Zamknięcie połączenia: mysql_close() PHP: Łącznie się z serwerem MySQL $mysql_link = mysql_connect ( nazwa hosta, nazwa użytkownika hasło, nazwa bazy ) mysql_close($mysql_link); $polaczenie = mysql_connect("localhost", uzytkownik", haslo ); $wynik = mysql_query("select SESSION_USER(), CURRENT_USER();"); $wiersz = mysql_fetch_row($wynik); echo "SESSION USER: ", $wiersz[0], "<br>\n"; echo "CURRENT USER: ", $wiersz[1], "<br>\n"; Polecenie SELECT z poziomu skryptu PHP Polecenie SELECT z poziomu skryptu PHP cd. $polaczenie = mysql_connect("localhost", uzytkownik", haslo ); if (mysql_errno()) { printf("brak polaczenia: %s\n", mysql_error()); exit(); else { echo "Jest polaczenie! <br>\n";... $wybor_bazy = mysql_select_db( nazwa_bazy", $polaczenie); $sql = "SELECT * FROM Klient"; $wynik = mysql_query($sql, $polaczenie);... if ($wynik) { while ($tablica = mysql_fetch_array($wynik, MYSQL_ASSOC)) { $imie = $tablica['imie']; $nazwisko = $tablica['nazwisko']; $email = $tablica['email']; echo "Klient: ".$imie." ".$nazwisko." ".$email."<br>\n"; else { printf("dane nie zostaly zaladowane: %s\n", mysql_error($polaczenie)); mysql_free_result($wynik); mysql_close($polaczenie);

Funkcja mysql_fetch_array() $wynik = mysql_query($sql, $polaczenie); $tablica = mysql_fetch_array($wynik, MYSQL_BOTH); $wynik = mysql_query($sql, $polaczenie); $tablica = mysql_fetch_array($wynik, MYSQL_ASSOC); Funkcja mysql_free_result() bool mysql_free_result ( resource $result ); $wynik = mysql_query($sql, $polaczenie); $tablica = mysql_fetch_array($wynik, MYSQL_NUM); $wynik = mysql_query($sql, $polaczenie); $tablica = mysql_fetch_row($wynik); Funkcja mysql_num_rows() $link = mysql_connect("localhost", "mysql_user", mysql_select_db("database", $link); "mysql_password"); $result = mysql_query("select * FROM table1", $link); $num_rows = mysql_num_rows($result); echo Zapytanie zwróciło $num_rows rekordów \n"; Polecenie CREATE TABLE Połączenie z bazą, obsługa błędów else { $sql = "CREATE TABLE Tytuly (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, $res = mysql_query($mysql, $sql); if ($res === TRUE) { else { echo "Tabela Tytuly została utworzona."; tytul VARCHAR (75))"; printf("tabela nie została utworzona: %s\n", mysql_error($mysql)); mysql_close($mysql);

Polecenie INSERT: Przykład I... Połączenie z bazą, obsługa błędów else { $sql = "INSERT INTO Tytuly (tutul) VALUES ( Heban')"; $res = mysql_query($mysql, $sql); if ($res === TRUE) { echo "Rekord został dodany."; else { printf("rekord nie został dodany: %s\n", mysql_error($mysql)); mysql_close($mysql); Polecenie INSERT: Przykład II insert.php... Połączenie z bazą, obsługa błędów else { $sql = "INSERT INTO Tytuly (tytul) VALUES ('".$_POST["tytul"]."')"; $res = mysql_query($mysql, $sql); if ($res === TRUE) { echo "Rekord został dodany."; else { printf("rekord nie został dodany : %s\n", mysql_error($mysql)); mysql_close($mysql);