Optymalizacja skryptów PHP i zapytań SQL

Wielkość: px
Rozpocząć pokaz od strony:

Download "Optymalizacja skryptów PHP i zapytań SQL"

Transkrypt

1 Artykuł pobrano ze strony eioba.pl Optymalizacja skryptów PHP i zapytań SQL Jak przyspieszyć skrypty PHP i zapytania do baz danych? Jak skonfigurować narzędzie Xdebug? Jak zmierzyć wydajność skryptu za pomocą Apache Benchmark? PHP jest językiem interpretowanym po stronie serwera. Do przeglądarki jest wysyłany jedynie wynik jego działania. W typowym serwisie internetowym serwer po otrzymaniu żądania pobiera niezbędne rekordy (np. treść strony i informacje o użytkowniku) z bazy danych, a następnie przetwarza je i wysyła do klienta. Przy dobrze zoptymalizowanym kodzie może on obsłużyć znacznie więcej internautów w określonym czasie. Zacznij od... Xdebug Podczas pisania aplikacji PHP i jej optymalizacji pomocne jest rozszerzenie Xdebug, ponieważ: wyświetla czas wykonywania się funkcji oraz użycie pamięci w przypadku wystąpienia błędu oferuje funkcje wyświetlające np. całkowity czas interpretacji kodu, szczytowe użycie pamięci... generuje pliki ze szczegółowymi informacjami na temat każdego wywołania funkcji i metod, które można odczytać za pomocą specjalnego programu Konfigurujemy Xdebug 1. Pobierz rozszerzenie z oficjalnej strony xdebug.org w wersji dla używanego systemu operacyjnego dla Linuksa lub Windowsa. 2. Umieść plik.dll lub.so w folderze ext znajdującym się w katalogu instalacji PHP. 3. W pliku php.ini dodaj linijkę: zend_extension_ts('path'); 4. W miejsce PATH wpisz ścieżkę bezwzględną do pliku.dll lub.so. Dostępne są też opcje konfiguracyjne, opisane na stronie Xdebug. 5. Zapisz plik php.ini i zrestartuj Apache. Aby sprawdzić, czy rozszerzenie zostało zainstalowane prawidłowo, utwórz jakikolwiek skrypt i wywołaj funkcję phpinfo(). Jeżeli nie ma żadnej wzmianki o nim, sprawdź, czy podałeś poprawną ścieżkę (BEZWZGLĘDNĄ!) oraz czy wersja Xdebug jest zgodny z zainstalowaną wersją PHP. Czas i użycie pamięci Możesz użyć przedstawionych poniżej funkcji: //Użycie pamięci echo xdebug_memory_usage();

2 //Szczytowe użycie pamięci echo xdebug_peak_memory_usage(); //Czas w sekundach echo xdebug_time_index(); Instrukcje czy funkcje? Użycie instrukcji lub wyświetlenie wartości zmiennej / stałej jest kilka razy szybsze od wywołania funkcji. Na przykład wersję PHP można uzyskać na 2 sposoby. //Użycie funkcji echo phpversion(); //Wyświetlenie stałej echo PHP_VERSION; //Wersja rozszerzenia Xdebug echo phpversion('xdebug'); Od wersji PHP 5.1 uniksowy znacznik czasu (liczba sekund, która upłynęła od 11 stycznia 1970) dla momentu przyjęcia żądania znajduje się w tablicy $_SERVER. W większości sytuacji można nim zastąpić funkcję time(). echo $_SERVER['REQUEST_TIME']; Apostrof czy cudzysłów? Jeżeli w łańcuchu znaków nie używasz kombinacji: \n, \r, \t, \v, umieść go w apostrofach. W przypadku użycia cudzysłowów PHP sprawdza, czy w tekście znajdują się zmienne oraz ww. symbole, co pochłania więcej czasu. //Szybciej - bez analizy $x = 'Witaj'. $user; //Wolniej - z analizą $x = "Witaj $user"; Złączenia ciągów tekstowych Staraj się zmniejszyć ilość złączeń ciągów tekstowych (w pierwszym przykładzie - za pomocą kropki). Im jest ich więcej, tym bardziej wzrasta użycie pamięci przez skrypt, gdyż jest to dość kosztowna operacja. $user = 'Grzegorz Brzęczyszczykiewicz'; //Login $lang = 'Zalogowany jako'; //Tekst w pliku językowym echo $lang. ': '. $user; W tym przypadku zmienna $lang może już zawierać dwukropek: $lang = 'Zalogowany jako: '; echo $lang. $user; Jeszcze lepszym rozwiązaniem jest użycie instrukcji printf(). $lang = 'Zalogowany jako: %s'; //Na miejscu %s (string) pojawi się login printf($lang, $user); Aby zwrócić ciąg tekstowy zamiast wyświetlać go na ekran użyj sprintf(). Unikaj postawiony przed nazwą funkcji zapobiega wyświetlaniu błędów przez nią wygenerowanych. Jednak

3 jego użycie znacznie spowalnia skrypt. Zaleca się przemyśleć kod tak, aby pominąć a nasze rozwiązanie było jeszcze szybsze. Nie wynajduj koła na nowo Język PHP jest wciąż rozwijany. Warto dowiedzieć się, co nowego oferują nowe wersje. Być może już istnieje potrzebna Ci funkcja, którą chcesz napisać od podstaw? Funkcje wbudowane w PHP oraz w rozszerzenia są zawsze szybsze od tych, które znajdują się w interpretowanym kodzie, gdyż zostały one napisane w języku C. Nowe funkcje w PHP5 file_put_contents() zapisuje treść do pliku scandir() zwraca tablicę z listą plików i folderów w danym katalogu posortowaną alfabetycznie error_get_last() Nowe klasy w PHP5 SimpleXML i DOM (obiektowy model dokumentu) do operacji na języku XML DateTime i DateTimeZone PDO uniwersalny interfejs do obsługi baz danych MySQLi rozszerzenie obsługujące nowe możliwości MySQL (od wersji 4.1), np. podpinanie danych, transakcje... Tidy obsługuje narzędzie Tidy do analizy, czyszczenia, i naprawy dokumentów HTML Klasy Standard PHP Library Exception wyjątki, które mogą zostać rzucone instrukcją throw Zbędne zmienne Nie twórz zmiennych, których użyjesz tylko 1 raz. PHP przechowuje je w tablicy. Jeśli jest ich zbyt wiele, znalezienie szukanej zmiennej może potrwać długo. Ze względu na ilość danych użycie pamięci wzrośnie. Zasada dotyczy również stałych i funkcji. Są wyjątki od reguły. O tym w dalszej części artykułu. Oszczędź procesor Rozważ następujący przykład: setcookie('ok', 1, 60*60*24); Powyższy kod ustawia cookie na 1 dzień. Tylko po co PHP ma za każdym razem liczyć wartość wyrażenia 60*60*24? Szybszy kod:

4 // Ustaw cookie na 1 dzień setcookie('ok', 1, 86400); Przeanalizuj teraz poniższą pętlę FOR: // $x jest tablicą for($i=0; $i<count($x); ++$i) echo $x[$i]; PHP liczy przy każdej iteracji ilość elementów w tablicy. Jeśli w pętli nie ulega ona zmianie, policz ją tylko raz. Szybciej wykona się poniższy kod: $ile = count($x); for($i=0; $i<$ile; ++$i) echo $x[$i]; Zmienną $ile można utworzyć w pierwszym wyrażeniu pętli FOR. for($i=0, $ile=count($x)...) Jeżeli ilość elementów jest stała (np. 20), wprowadź ją od razu to drugiego wyrażenia: for($i=0, $i<20; ++$i) Programowanie obiektowe Zalążki programowania obiektowego pojawiły się już w PHP 3. Nowy model obiektowy, oferujący funkcjonalność istniejącą w wielu innych językach, został wprowadzony dopiero w PHP5. W PHP 4 obiekty są jednocześnie zmiennymi. Podczas przekazywania ich do funkcji, zwracania lub przypisywania, są one kopiowane. Aby temu zapobiec, należy przekazać obiekt przez referencje. Sytuacja uległa zmianie w PHP 5. Zmienna zawiera jedynie identyfikator obiektu, który jest kopiowany podczas ww. operacji. set, get, autoload Metody magiczne set oraz get() są uruchamiane, gdy PHP nie znajdzie własności (zmiennej), do której odwołujesz się. Nie definiuj ich, jeśli ważna jest wydajność skryptu. Następujące przykłady przedstawią przekazywanie danych do szablonu na 2 sposoby: //Z użyciem metody set() class Template protected $data; function set($name,$val) $this->name = $val; $tpl = new Template; $tpl -> title = 'Tytuł';

5 //Z użyciem własnej metody class Template protected $data; function set($name, $val) $this->data[$name] = $val; $tpl = new Template; $tpl->set('title', 'Tytuł'); Własności czy metody? Wywołanie metody jest 2 razy wolniejsze od wywołania zwykłej funkcji. Natomiast czas dostępu do własności obiektu jest niewiele większy niż do globalnych zmiennych (poza klasą lub funkcją). Programiści często definiują metody służące tylko do zmiany lub odczytu wartości własności obiektu, nadając większą rangę skalowalności aplikacji i hermetyzacji niż wydajności. Zastanów się jednak, czy celem takiej metody jest wcześniejsza obróbka danych, czy tylko zwrócenie lub przypisanie wartości do zmiennej obiektu. $mail -> title = 'Tytuł'; $mail -> settitle('tytuł'); Przestrzegaj typów danych Dużym ułatwieniem podczas tworzenia skryptów PHP jest to, że PHP automatycznie konwertuje typy danych. Jeżeli funkcja bądź instrukcja językowa wymaga przekazania liczby całkowitej integer, a otrzyma ciąg znaków (np. '70' zamiast 70), interpreter zamieni go na liczbę całkowitą i na odwrót. Aby uniknąć zbędnych rzutowań typów danych, staraj się tak zaprojektować aplikację, aby zminimalizować ich ilość. Aby porównać 2 wartości lub zmienne z uwzględnieniem typów danych, użyj operatora ===. if($a === $b) Operacje dyskowe Operacje dyskowe (np. dołączanie plików, skanowanie katalogów), czyli wszystkie czynności wymagające odczytu lub zapisu danych na HDD, są czasochłonne. Nie dołączaj plików bez potrzeby. Oto kilka porad: Nie dołączaj kilka razy tego samego skryptu. Jeśli dla każdego żądania skanujesz zawartość katalogu, rozważ stworzenie cache (gotowej listy). Ładuj biblioteki do pamięci tylko wtedy, gdy są potrzebne Nie dziel kodu aplikacji na zbyt wiele plików, który musi być zawsze dostępny. Include + include_path Domyślnie instrukcja include sprawdza, czy plik, który chcemy dołączyć dołączyć, nie znajduje się w którymś z katalogów wymienionych w dyrektywie include_path. Zaletą takiego rozwiązania jest to, że nie musimy podawać

6 ścieżki do pliku, jeśli jest w include_path. Aby PHP szukał pliku tylko w bieżącym lub określonym folderze, poprzedź ścieżkę symbolem./ //Najpierw w include_path include('plik.php'); //Tylko w bieżącym folderze include('./plik.php'); //Tylko w wyższym folderze include('../sth.php'); Powyższe uwagi dotyczą także instrukcji require, która różni się tym, że w razie niepowodzenia wyświetla błąd krytyczny i przerywa dalszą interpretację skryptu. Instrukcja switch Gdy chcesz wykonać określone akcje w zależności od wartości zmiennej, zamiast pisać kilka razy if / elseif / else, użyj instrukcji switch: $x = 5; switch($x) case 1: /* Akcja 1 */ break; case 2: case 3: /* Akcja 2 */ break; default: /* Domyślna akcja */ Zakończ każdy bloku case instrukcją break; oprócz default. Testy pod obciążeniem Zbadaj też wydajność skryptu pod większym obciążeniem serwera. Służy do tego program Apache Benchmark rozprowadzany wraz z Apache 2. Z jego pomocą dowiesz się, ile żądań serwer jest w stanie obsłużyć podczas 1 sekundy na wykorzystanym sprzęcie oraz ile trwa złożenie 1 strony. W systemie Windows znajduje się on w katalogu bin w folderze, w którym Apache został zainstalowany, np. C:\Apache2\bin\ab.exe. 1. Otwórz wiersz poleceń, wpisując cmd w oknie Uruchom. Skrót klawiszowy: WINDOWS+R. 2. Przejdź do katalogu z programem i uruchom go z opcją -h, aby wyświetlił pomoc i sposób użycia. Przykład: cd C:\Apache2\bin ab -h 3. Narzędzie pokaże listę opcji, których można użyć przy badaniu wydajności skryptu. Aby wykonać 500 żądań przy 10 jednocześnie konkurujących ze sobą, wpisz: ab -n 500 -c 10

7 Aby zwiększyć precyzję, zakończ zbędne procesy w systemie, które wykorzystują moc procesora. Test możesz powtórzyć kilka razy. Nie ustawiaj zbyt małej ilości powtórzeń, gdyż niektóre liczby zostaną obliczone niedokładnie. Zapytania do bazy danych Zazwyczaj najwięcej czasu zajmują niezoptymalizowane lub skomplikowane zapytania do bazy danych. Staraj się zmniejszyć ich ilość. W dalszej części artykułu dowiesz się, jak zoptymalizować zapytania SQL. Indeksy Utwórz indeksy na polach, do których odwołujesz się w zapytaniu, np. po słowie WHERE lub ON. W strukturze tabeli najważniejszy jest klucz podstawowy, np. na polu ID. Załóżmy, że chcesz wyświetlić artykuł o ID=5. Wysyłasz następujące zapytanie: SELECT * FROM `articles` WHERE ID = 5; Silnik bazy danych nie musi przemierzać wszystkich rekordów. Indeksy zawierają pozycję początków wierszy, a więc dotarcie do celu jest bardzo szybkie. Pozostałe typy kluczy to: zwykłe KEY unikalne UNIQUE KEY każdy rekord musi mieć inną wartość w tym indeksie niż pozostałe obce FOREIGN KEY gdy wartość klucza w 1 tabeli zostanie zmieniona, ulegnie ona zmianie także w tabelach, które łączy ze sobą (w MySQL dostępny tylko w silniku InnoDB) pełnotekstowe FULLTEXT (MySQL: tylko w silniku MyISAM) Łączenie tabel W zapytaniach z użyciem JOIN kolumny, wg których łączysz tabele (po słowie ON), powinny zawierać indeks. W ten sposób silnik znajdzie istotne rekordy szybciej. Wyrażenie WHERE Spójrz na poniższy przykład: SELECT * FROM `tabela` WHERE `num`+10 > 100 Zakładamy, że 100 jest liczbą wejściową z PHP. Zoptymalizujmy teraz to zapytanie. Silnik SQL powinien od razu policzyć wartość wyrażenia , jednak można to zrobić w PHP, np. ($num 10). Do serwera SQL wysyłamy zaś: SELECT * FROM `tabela` WHERE `num` > 90 Wyrażenie EXPLAIN Za pomocą słowa EXPLAIN dowiesz się więcej na temat analizy zapytania przez bazę danych, np. czy klucze są wykorzystywane. W MySQL dostępne jest też słowo EXTENDED, wyświetlające szczegółowe informacje. EXPLAIN EXTENDED SELECT * FROM `articles` WHERE author = 1 AND access = 1; Predefiniowane zapytania Aby przekazać informacje do bazy danych bezpiecznie i szybko, nie narażając się na groźny atak SQL Injection,

8 wykorzystaj nowe możliwości serwerów bazodanowych. W omawianym przypadku są to predefiniowane zapytania (ang. `prepared statements`). W przykładzie demonstrującym zasadę ich działania wykorzystamy rozszerzenie PDO stworzone do obsługi wielu baz danych. Zakładamy, że $db jest obiektem klasy PDO. 1. Przygotuj szkielet zapytania za pomocą metody prepare(). $q = $db->prepare('update items SET title = :title, txt = :txt WHERE ID = :id'); 2. Wprowadź dane do zapytania. Możesz to zrobić na 2 sposoby za pomocą metod bindvalue() lub bindparam() (z użyciem referencji) bądź przekazując je od razu do metody execute(). $q->bindvalue('title', $_POST['title']); $q->bindvalue('txt', $_POST['text']); $q->bindvalue('id', $id, 1); $q->execute(); //Sposób 2 $data = array( 'title' => $_POST['title'], 'txt' => $_POST['text'], 'id' => (int)$id ); $q->execute($data); Jeśli za jednym razem dodajesz do bazy danych wiele pozycji, wystarczy podpiąć nowe dane do istniejącego już zapytania. W ten sposób można osiągnąć lepszą wydajność i bezpieczeństwo. W przypadku, gdy dane pochodzące z zewnątrz nie powinny zawierać kodu HTML, w szczególności wysłane przez internautów, należy użyć funkcji htmlspecialchars(). $data = array( 'title' => htmlspecialchars($_post['title']), ); Obejmij transakcją zbiór zapytań, które modyfikują dane Porada dotyczy szczególnie bazy danych SQLite oraz tabel InnoDB w MySQL. Gdy wysyłasz kilka zapytań pod rząd, które wprowadzają jakiekolwiek zmiany, np. INSERT, UPDATE, DELETE, dla każdego z nich jest tworzona osobna transakcja. Operacja może trwać długo. Aby przyspieszyć modyfikację rekordów, obejmij cały zbiór zapytań transakcją. Baza danych od razu obliczy i stworzy odpowiednią ilość miejsca dla nowych wierszy w systemie plików lub usunie wszelkie pozostałości. Dlaczego transakcje są kluczowym elementem komunikacji z bazą danych? Rozważ następujący przypadek w sklepie internetowym. Internauta kupuje produkt, lecz informacja o dokonaniu płatności nie może zostać zapisana z nieznanej przyczyny. Inny przypadek. Podczas tworzenia nowej ankiety występuje błąd przy zapisie odpowiedzi do bazy danych. Jak temu zapobiec? Jednym z najlepszych i najbezpieczniejszych rozwiązań są transakcje w połączeniu z instrukcją try catch(pdoexception $e). Przykład modyfikacji danych objętej transakcją: try //Rozpocznij transakcję $db->begintransaction();

9 //Zmodyfikuj dane $db->query('insert INTO tabela...'); $db->query('update tabela SET...'); //Zatwierdź zmiany $db->commit(); catch(pdoexception $e) /* Nieudana operacja */ Jeżeli oczekujesz, że inne komponenty mogą rzucić wyjątek, przechwyć podstawową klasę Exception zamiast PDOException lub złap PDOException w pierwszej kolejności. Wolno umieścić dowolną ilość instrukcji catch. UWAGA! Tabele MyISAM w MySQL nie obsługują transakcji! Nie ma znaczenia, czy zapytania zostaną objęte transakcją. Nie bój się więc używać transakcji przy tworzeniu aplikacji z obsługą wielu baz danych. Wyniki testu szybkości wstawiania 500 rekordów w SQLite: + bez transakcji: 64 sekundy + z transakcją: 0.15 sekundy GROUP BY zamiast wielu zapytań Rozważ algorytm, który liczy ilość artykułów w każdej kategorii. Można to zrobić na 2 sposoby. SELECT COUNT(*) FROM articles WHERE cat = 5 Powyższe zapytanie trzeba wysłać dla każdej kategorii, co może chwilę potrwać. Aby przyspieszyć operację, użyj instrukcji grupującej GROUP BY. Wystarczy wysłać wtedy tylko 1 zapytanie. Baza danych zwróci ilość artykułów dla poszczególnych wartości w polu `cat`. Przykład: SELECT COUNT(*) FROM articles GROUP BY cat Aby dołączyć dodatkowy warunek, umieść instrukcję WHERE przed GROUP BY: SELECT COUNT(*) AS ile FROM articles WHERE on = 1 GROUP BY cat Autor: WebCM Artykuł pobrano ze strony eioba.pl

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

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

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się. Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username

Bardziej szczegółowo

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,

Bardziej szczegółowo

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

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.

Bardziej szczegółowo

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

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

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

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop. 2017 Spis treści Wstęp 11 Część I Skrypty PHP dynamiczne generowanie stron internetowych 15 Rozdział 1. Podstawy 17 Czym jest PHP? 17 Krótka

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

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

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych

Bardziej szczegółowo

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 2

Podstawy programowania III WYKŁAD 2 Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

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

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

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

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech BAZY DANYCH Obsługa bazy z poziomu języka PHP opracowanie: Michał Lech Plan wykładu 1. PHP - co to jest? 2. Bazy danych obsługiwane przez PHP 3. Podstawowe polecenia 4. Sesje 5. Przykład - dodawanie towaru

Bardziej szczegółowo

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact

Bardziej szczegółowo

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

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Dostęp do baz danych z serwisu www - PHP Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Bazy Danych I, 8 Grudzień 2009 Plan Trochę teorii Uwagi techniczne Ćwiczenia Pytania Trójwarstwowy

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Dokumentacja fillup - MS SQL

Dokumentacja fillup - MS SQL Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................

Bardziej szczegółowo

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Dodawanie operacji dodatkowych w WAPRO Mag.

Dodawanie operacji dodatkowych w WAPRO Mag. Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

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

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

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

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 Spis treści Wstęp 5 Rozdział 1. Praca z AJAX-em 9 Pierwszy przykład 9 Obiekt XMLHttpRequest 12 Transmisja danych 21 Model DOM 34 Obsługa wielu żądań 45 Rozdział 2. Współpraca ze skryptami PHP 55 Odbieranie

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski 1.) Wymagania sprzętowe: SSI Katalog Program do katalogowania zawartości dysków Dariusz Kalinowski - System operacyjny: Windows 2000 lub Windows xp - Procesor minimum Pentium 1Ghz - Pamięć RAM minimum

Bardziej szczegółowo

6. Bezpieczeństwo przy współpracy z bazami danych

6. Bezpieczeństwo przy współpracy z bazami danych 6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy

Bardziej szczegółowo

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

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

Bardziej szczegółowo

Paweł Rajba

Paweł Rajba Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 6 Tworzenie bloga w Zend Framework Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem

Bardziej szczegółowo

Zmienne i stałe w PHP

Zmienne i stałe w PHP Zmienne i stałe w PHP Zmienne Zmienne to konstrukcje programistyczne, które pozwalają na przechowywanie danych. Każda zmienna posiada swoją nazwę oraz typ. Nazwa to jednoznaczny identyfikator, dzięki któremu

Bardziej szczegółowo

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

MVC w praktyce tworzymy system artykułów. cz. 1

MVC w praktyce tworzymy system artykułów. cz. 1 MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą

Bardziej szczegółowo

Wprowadzenie. Rozdział 23 PDO. Podstawowe kroki aplikacji. Źródło danych

Wprowadzenie. Rozdział 23 PDO. Podstawowe kroki aplikacji. Źródło danych Wprowadzenie Rozdział 23 PDO Wprowadzanie do PDO, kursory zwykłe, kursory przewijane, obsługa błędów, przetwarzanie transakcyjne PDO PHP Data Objects, obiektowo-zorientowany interfejs programistyczny dostępu

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

INSTALACJA I KONFIGURACJA SERWERA PHP.

INSTALACJA I KONFIGURACJA SERWERA PHP. LABORATORIUM 0 INSTALACJA I KONFIGURACJA SERWERA PHP. W celu poprawnego wykonywania zadań na laboratorium konieczne jest zainstalowanie na komputerze wyposażonym w system operacyjny Windows następujących

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Laboratorium 1 Wprowadzenie do PHP

Laboratorium 1 Wprowadzenie do PHP Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Pomoc dla systemu WordPress

Pomoc dla systemu WordPress Pomoc dla systemu WordPress Ten plik pomocy przeznaczony jest dla pluginu stat24 w wersji 0.2. W tym pluginie porzucono wsparcie dla starszych wersji WordPress (niższych niż 1.5) oraz zrezygnowano z opcji

Bardziej szczegółowo

Wysyłanie pliku na serwer. Plik na serwerze.

Wysyłanie pliku na serwer. Plik na serwerze. Wysyłanie pliku na serwer Dzięki PHP możemy w łatwy i przyjemny sposób obsłużyć pliki uploadowane na serwer. Jednak, by prawidłowo wysłać plik, niezbędny będzie odpowiedni formularz HTML. Poniżej przedstawię

Bardziej szczegółowo

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS Zmiany funkcjonalne i lista obsłużonych zgłoszeń 2017.3.0, i 2017.3.2 1. Wstęp W niniejszym dokumencie zostały opisane modyfikacje wprowadzone w wersji 2017.3.0, i 2017.3.2. 2. Modyfikacje wprowadzone

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo