PHP: bazy danych, SQL, AJAX i JSON

Podobne dokumenty
Język SQL, zajęcia nr 1

Projektowanie systemów baz danych

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

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

PHP: bloki kodu, tablice, obiekty i formularze

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

CREATE USER

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

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Instalacja MySQL.

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Bazy Danych i Usługi Sieciowe

Database Connectivity

Podstawy programowania III WYKŁAD 2

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

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

Bazy danych i usługi sieciowe

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

Oracle11g: Wprowadzenie do SQL

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Specyfikacja implementacyjna aplikacji serwerowej

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

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

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

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

P o d s t a w y j ę z y k a S Q L

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

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

Pojęcie systemu baz danych

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

Optimed24 Przenoszenie bazy danych PostrgreSQL

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

Ref. 7 - Język SQL - polecenia DDL i DML

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Autor: Joanna Karwowska

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

Szczegółowy opis zamówienia:

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

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

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

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

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

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

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

Imię i Nazwisko Data Ocena. Laboratorium 7

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

Wybrane działy Informatyki Stosowanej

Programowanie w Ruby

Systemy GIS Tworzenie zapytań w bazach danych

Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET

Bazy danych. Polecenia SQL

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Uruchamianie bazy PostgreSQL

Wykład 8. SQL praca z tabelami 5

Programowanie w Ruby

Bazy danych i strony WWW

Przestrzenne bazy danych Podstawy języka SQL

Bazy danych i usługi sieciowe

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów.

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Składowane procedury i funkcje

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

NARZĘDZIA WIZUALIZACJI

Projektowani Systemów Inf.

Bazy danych. Dr inż. Paweł Kasprowski

Leszek Stasiak Zastosowanie technologii LINQ w

Aplikacje WWW - laboratorium

KatMPBSoft - 1 -

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

15. Funkcje i procedury składowane PL/SQL

Baza danych sql. 1. Wprowadzenie

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

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Oracle PL/SQL. Paweł Rajba.

Programowanie w Ruby

Programowanie MorphX Ax

Aplikacje WWW - laboratorium

Aplikacje Internetowe

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

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

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Transkrypt:

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

Co to jest MySQL? 3 MySQL to system bazodanowy wykorzystywany w sieci i działający na serwerach. System jest szybki, dosyć niezawodny i łatwy w użyciu. Wykorzystuje standard języka SQL. Jest darmowy i kompatybilny z wieloma platformami.

Jak się połączyć z bazą MySQL 4 PHP dostarcza dwa narzędzia do łączenia się z bazami danych MySQL. Jest to rozszerzenie MySQLi oraz PDO (PHP Data Objects). Rozszerzenie MySQLi jest uważane za przestarzałe, już od 2012 roku. Jednakże można nadal je stosować. Przewagą PDO jest współpraca z tuzinem różnych systemów bazodanowych i w przypadku zmiany bazy danych łatwo jest dostosować do niej aplikację. MySQLi współpracuje jedynie z bazami MySQL. W prezentacji zostaną pokazane sposoby wykorzystania PDO oraz MySQLi w podejściu obiektowym (istnieje też podejście proceduralne.

Jak się połączyć z bazą MySQL - MySQLi 5 Wykorzystując MySQLi połączenie nawiązujemy z wykorzystaniem obiektu klasy mysqli. Obiekt tworzymy przy pomocy konstruktora tej klasy, w którym jako parametry przekazujemy nazwę serwera, nazwę użytkownika bazy danych oraz hasło do bazy danych. Pole obiektu connect_error pozwala na sprawdzenie, czy połączenie się powiodło, czy wystąpił jakiś błąd połączenia.

Jak się połączyć z bazą MySQL - MySQLi 6

Jak się połączyć z bazą MySQL - PDO 7 Wykorzystując PDO w pierwszej kolejności musimy skorzystać ze struktury try catch W części try dokonujemy próby nawiązania połączenia wykorzystując do tego obiekt klasy PDO. Obiekt tworzymy przy pomocy konstruktora do którego jako parametry przekazujemy string konfiguracyjny, nazwę użytkownika bazy danych i hasło bazy danych. String konfiguracyjny zawiera informacje o rodzaju bazy danych, nazwie serwera i nazwie bazy danych.

Jak się połączyć z bazą MySQL - PDO 8 Z wykorzystaniem pola setattribute obiektu ustawiamy PDO do pracy w trybie rzucania wyjątków, kiedy nie uda się połączyć z bazą danych. Sekcja catch pozwala na wyłapanie tych wyjątków i podjęcie odpowiednich kroków z tym związanych.

Jak się połączyć z bazą MySQL - PDO 9

Jak się połączyć z bazą MySQL Zamykanie połączenia 10

Podstawowe operacje na bazie danych 11 Wykonywanie podstawowych operacji na bazie danych oparte jest na pewnym szablonie. Po połączeniu się z bazą danych tworzymy stringa, który jest poleceniem napisanym w języku SQL. Następnie string ten jest przekazywany jako parametr metody klasy PDO lub MySQLi. Dla PDO jest to metoda exec(). Dla MySQLi jest to metoda query(). W dalszej części prezentacji znajdziesz przykłady takich operacji dla obydwóch podejść. Znajdziesz też sekcję poświęconą językowi SQL.

Podstawowe operacje na bazie danych Create database - MySQLi 12

Podstawowe operacje na bazie danych Create database - PDO 13

Podstawowe operacje na bazie danych Create table - MySQLi 14

Podstawowe operacje na bazie danych Create table - PDO 15

Podstawowe operacje na bazie danych Select 16 Operacja select pozwala na wyciągnięcie danych z bazy. Potencjalnie mogą to być dane z wielu rzędów tabeli. Zaprezentowane zostanie nie tylko wykonanie kodu, ale także jak operować pozyskanymi danymi. W przypadku korzystania z PDO, metoda exec() nie pozwala na wykonanie operacji select. Można do tego celu wykorzystać metodę query() lub prepere(). W przykładzie została wykorzystana metoda prepere() i zostanie ona dokładniej opisana w dalszej części prezentacji.

Podstawowe operacje na bazie danych Select MySQLi 17

Podstawowe operacje na bazie danych Select PDO 18

Podstawowe operacje na bazie danych Select, operowanie danymi MySQLi 19

Podstawowe operacje na bazie danych Select, operowanie danymi PDO 20

Podstawowe operacje na bazie danych Insert MySQLi 21

Podstawowe operacje na bazie danych Insert PDO 22

Podstawowe operacje na bazie danych Update MySQLi 23

Podstawowe operacje na bazie danych Update PDO 24

Podstawowe operacje na bazie danych Delete MySQLi 25

Podstawowe operacje na bazie danych Delete PDO 26

Kilka dodatkowych operacji uzyskanie ID dodanego do bazy elementu MySQLi 27

Kilka dodatkowych operacji uzyskanie ID dodanego do bazy elementu PDO 28

Kilka dodatkowych operacji dodawanie kilku elementów jednocześnie MySQLi 29

Kilka dodatkowych operacji dodawanie kilku elementów jednocześnie PDO 30

Kilka dodatkowych operacji Prepere 31 Prepere to metoda pozwalająca na stworzenie zapytania SQL, które może zostać wykorzystane wielokrotnie. Każdorazowo z zapytaniu mogą znajdować się inne dane. Metoda ta jest także wykorzystywana do wykonywania zapytań select z wykorzystaniem PDO.

Kilka dodatkowych operacji Prepere MySQLi 32

Kilka dodatkowych operacji Prepere PDO 33

34 SQL Co to, ten SQL Kilka ważniejszych komend SQL Rzut oka na składnię kilku komend Kilka dodatkowych informacji

Co to, ten SQL 35 SQL to strukturalny język zapytań, który pozwala na manipulację bazami danych. SQL pozwala na tworzenie baz danych i tabel. Pozwala pobierać, umieszczać, aktualizować i usuwać dane w bazie danych. Pozwala na usuwanie tabel i baz danych.

Kilka ważniejszych komend SQL 36 SELECT - pobieranie danych z bazy danych UPDATE - aktualizacja danych w bazie danych DELETE - usuwanie danych z bazy danych INSERT INTO - dodawanie danych do bazy danych CREATE DATABASE - tworzenie bazy danych ALTER DATABASE - edycja bazy danych CREATE TABLE - tworzenie tabeli ALTER TABLE - edycja tabeli DROP TABLE - usuwanie tabeli

Rzut oka na składnie kilku komend Select 37

Rzut oka na składnie kilku komend Insert Into 38

Rzut oka na składnie kilku komend Update 39

Rzut oka na składnie kilku komend Delete 40

Kilka dodatkowych informacji 41 Komend w SQL jest oczywiście dużo więcej. W zapytaniach SQL możemy (a czasem musimy) tworzyć pewne warunki, korzystając z komendy WHERE. Warunki w zapytaniach mogą być dosyć rozbudowane, możemy je łączyć przy pomocy AND i OR. SQL oferuje szereg możliwości konfiguracji tworzonych zapytań. Więcej informacji o SQL i jego możliwościach znajdziecie np. tutaj.

42 AJAX i JSON w PHP Przypomnienie o czym mowa Jak obsługiwać asynchroniczne zapytania w PHP Pozyskanie JSON od klienta a z serwera

Przypomnienie o czym mowa 43 AJAX to technologia pozwalająca na asynchroniczną wymianę danych pomiędzy warstwą kliencką a warstwą serwerową. Oznacza to, że dana na stronie mogą być aktualizowane bez jej przeładowania. JSON to składnia pozwalająca na przetrzymywanie i wymienianie danych. JSON jest tekstem wykorzystującym notację obiektową JavaScript. JSON pozwala na łatwą wymianę danych (w tym danych obiektowych) pomiędzy przeglądarką a serwerem. JSON bardzo ładnie komponuje się z AJAX

Jak obsługiwać asynchroniczne zapytania w PHP 44 W naszym wypadku do obsługi takich zapytań kluczowe będą 3 metody. Pierwsza pozwala na pozyskanie wysłanych danych JSON file_get_contents(). Druga pozwalająca na rozkodowanie JSON json_decoded(). Trzecia na wysłanie w odpowiedzi danych w formacie JSON do przeglądarki json_encoded(). json_decoded przekłada otrzymane dane na taki tym, jaki zastaje w JSON. Jeżeli przesyłany jest obiekt, to metoda zwróci obiekt, jeżeli tablica, to zwróci tablicę, jeżeli zwykły string, to zwróci stringa itd.

Jak obsługiwać asynchroniczne zapytania w PHP 45 file_get_contents() jako parametr przyjmuje stringa. Aby pozyskać dane wysłane poprzez AJAX string ten musi mieć postać php://input. json_decoded() jako parametr przyjmuje dane otrzymane w wyniku działania metody file_get_contents(). json_encoded() jako parametr przyjmuje dane, które chcemy zakodować, jako JSON i wysłać do przeglądarki.

Jak obsługiwać asynchroniczne zapytania w PHP 46

Pozyskanie JSON od klienta a z serwera 47 Do pozyskania danych wysłanych od klienta służy metoda file_get_contents. Ta sama metoda może posłużyć do uzyskania danych z innego pliku na tym samym serwerze lub innym serwerze. String, który podajemy jako parametr metody musi w takim wypadku przyjąć formę adresu względnego lub bezwzględnego do pliku, który nas interesuje.

Pozyskanie JSON od klienta a z serwera 48