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

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

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

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

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

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

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

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

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 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

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

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

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

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

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

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

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

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

Naprawa uszkodzonej bazy Interbase/Firebird

Naprawa uszkodzonej bazy Interbase/Firebird Naprawa uszkodzonej bazy Interbase/Firebird W przypadku, gdy podczas pracy programu KS-Apteka Windows pojawiają się błędy jak na rysunku 1, (takie błędy w szczegółach zaczynają się od słów: internal gds

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

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

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

Dlaczego PHP? - zalety

Dlaczego PHP? - zalety Dlaczego PHP? - zalety (+) bezpieczeństwo kodu - PHP wykonuje się po stronie serwera ( niezależność od przeglądarki) (+) bezpieczeństwo danych - wykorzystanie ssl i HTTPS (+) PHP jako moduł serwera WWW

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

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

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

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

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

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 4 mysql MySQL - wstęp SZBD: komercyjne: Microsoft SQL Server, Oracle, DB2... darmowe: MySQL, PostgreSQL, Firebird... MySQL darmowy (użytek niekomercyjny) Wady: niska wydajność

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

media Blitz wydajne sytemy szablonów

media Blitz wydajne sytemy szablonów Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki

Bardziej szczegółowo

SQL Server Configuration Manager centrum dowodzenia

SQL Server Configuration Manager centrum dowodzenia Instrukcja do przedmiotu Bazy danych laboratorium (zajęcia 1) 1 Celem pierwszych zajęć laboratoryjnych jest poznanie podstaw obsługi MS SQL Server 2005 za pomocą programu SQL Server Management Studio,

Bardziej szczegółowo

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

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

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

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

Ć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

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer

Bardziej szczegółowo

Programowanie obiektów

Programowanie obiektów Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1 T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania

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

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa Metody włamań do systemów komputerowych SQL injection Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl Metody włamań do

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp

Bardziej szczegółowo

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

Pawel@Kasprowski.pl Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07 Podstawy PHP Paweł Kasprowski pawel@kasprowski.pl Historia PHP 1995 Personal Home Page Rasmus Lerdorf, prosty jęsyk oparty na Perlu 1998 PHP3 Andi Gutmans, Zeev Suraski modularność i rozszerzenia (extensions)

Bardziej szczegółowo

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql Dokumentacja interfejsu MySQL Platforma BSMS.PL Instrukcja podłączenia po przez mysql Dokumentacja interfejsu mysql (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie

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 część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D2/08_01 Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 2 (D2) Określanie właściwości stron WWW (domyślne pliki startowe, katalogi wirtualne,

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

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

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja Zagadnienia Konstrukcja bibliotek mysql i mysqli w PHP Dynamiczne generowanie stron Połączenie, zapytanie i sesja Podstawowe opakowanie dla zapytań SQL w PHP Zarządzania uŝytkownikami Włamania do mysql

Bardziej szczegółowo

Instrukcja instalacji v2.0 Easy Service Manager

Instrukcja instalacji v2.0 Easy Service Manager Instrukcja instalacji v2.0 Easy Service Manager 1. Instalacja aplikacji. Aplikacja składa się z trzech komponentów: - serwer baz danych Firebird 1.5.5, - sterownik Firebird ODBC, - aplikacja kliencka Easy

Bardziej szczegółowo

Języki programowania wysokiego poziomu. Ćwiczenia

Języki programowania wysokiego poziomu. Ćwiczenia Języki programowania wysokiego poziomu Ćwiczenia Języki programowania Ćwiczenia Strukturalny HTML Arkusze CSS Formularze HTML i PHP Baza danych MySQL Forum internetowe Strukturalny HTML Zadania Dokument

Bardziej szczegółowo