Zarządzanie systemami informatycznymi. Zarządzanie internetową bazą danych MySQL

Podobne dokumenty
Zarządzanie systemami informatycznymi. Zarządzanie internetową bazą danych MySQL

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

Projektowanie systemów baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

CREATE USER

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

Wykład 8. SQL praca z tabelami 5

Instalacja MySQL.

Język SQL, zajęcia nr 1

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

SQL 4 Structured Query Lenguage

Autor: Joanna Karwowska

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

Bazy danych. Dr inż. Paweł Kasprowski

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

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

Internetowe bazy danych

Bazy danych. Polecenia SQL

Składowane procedury i funkcje

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

Administracja bazami danych

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Bazy danych 7. SQL podstawy

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

Paweł Rajba

Oracle11g: Wprowadzenie do SQL

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

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

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

Przestrzenne bazy danych Podstawy języka SQL

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

Bazy danych - wykład wstępny

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

Język SQL, zajęcia nr 2

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Relacyjne bazy danych. Podstawy SQL

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Internetowe bazy danych

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych 6. Klucze obce. P. F. Góra

Dr Michał Tanaś(

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

Uprawnienia, role, synonimy

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

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Typy tabel serwera MySQL

Wykład 5. SQL praca z tabelami 2

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

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

Wyzwalacze (triggery) Przykład

Administracja bazami danych. dr inż. Grzegorz Michalski

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

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

Wykład 4. SQL praca z tabelami 1

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

Wykład 05 Bazy danych

SQL (ang. Structured Query Language)

Wykład 2. SQL 1 Structured Query Lenguage

Relacyjne bazy danych. Podstawy SQL

Bazy danych 5. Samozłaczenie SQL podstawy

Bazy Danych i Usługi Sieciowe

Bazy danych 9. SQL Klucze obce Transakcje

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

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

WPROWADZENIE DO BAZ DANYCH

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Podyplomowe Studium Programowania i Baz Danych

Bazy danych i usługi sieciowe

SIECI KOMPUTEROWE I BAZY DANYCH

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Transakcje jednocześnie ACID

SIECI KOMPUTEROWE I BAZY DANYCH

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Bazy danych 9. Klucze obce Transakcje

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

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

Transkrypt:

Zarządzanie systemami informatycznymi Zarządzanie internetową bazą danych MySQL

Bazy danych Koncepcja bazy danych Relacyjna baza danych Projektowanie internetowej bazy danych

Koncepcja bazy danych Bazą danych nazywamy zbiór danych w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Tabelą w bazie danych nazywamy zbiór rekordów opisujących obiekty np. pracownicy zawierających informacje o tych obiektach w sposób ujednolicony. Rekord zwany także krotką lub wierszem, to pozioma struktura danych opisująca jeden obiekt. Rekord składa się z pól opisujących dokładnie cechy obiektu np. pojedynczego pracownika. Pole zwane także atrybutem lub kolumną, to struktura danych opisująca pojedynczą daną w rekordzie np. nazwisko pracownika. Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli. Taka cecha klucza nazywana jest unikatowością. Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli. Na przykład, w bazie pracowników kluczem podstawowym może być numer ewidencyjny pracownika.

Relacyjna baza danych Relacja Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat sposobu poprawnego łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między tabelami. Typy relacji 1. relacja jeden-do-jednego W relacji jeden-do-jednego każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B, i tak samo każdy rekord w tabeli B może mieć tylko jeden dopasowany rekord z tabeli A. Ten typ relacji spotyka się rzadko, ponieważ większość informacji powiązanych w ten sposób byłoby zawartych w jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej. 2. Relacja jeden-do-wielu Relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. W relacji jeden-do-wielu rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A.

Relacje 3. Relacja wiele-do-wielu W relacji wiele-do-wielu, rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz podstawowy składa się z dwóch pól kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest w istocie dwiema relacjami jedendo-wielu z trzecią tabelą. Na przykład, tabele "Zamówienia" i "Produkty" są powiązane relacją wiele-do-wielu zdefiniowaną przez utworzenie dwóch relacji jedendo-wielu z tabelą "Pozycje zamówione".

Przykład relacji

Język SQL (ang. Structured Query Language) klasyfikacja zapytań Data Definition Language (DDL) polecenia tworzenia i zarządzania strukturą bazy danych (CREATE, DROP, ALTER) Data Manipulation Language (DML) polecenia zarządzania danymi (INSERT, UPDATE, DELETE) Data Control Language (DCL) polecenia kontroli danych (GRANT, REVOKE, DENY) Data Querying Language (DQL) polecenia kwerend danych (SELECT)

Projektowanie internetowej bazy danych Baza danych powinna określać model obiektów świata realnego (np. klienci, zamówienia, książki) Unikać przechowywania redundantnych danych Marnotrawstwo pamięci Możliwość powstania anaomalii uaktualniania Zapisywać atomowe wartości kolumn Dobrać właściwe klucze, które zagwarantują unikalność rekordów Unikać tworzenia tabel z wieloma pustymi polami

Architektura internetowej bazy danych 1 2 3 Przeglądarka Serwer WWW Interpreter PHP Serwer MySQL 6 5 4

Stosowanie MySQL Uruchamianie bazy danych MySQL Definiowanie użytkowników i nadawanie przywilejów Usuwanie przywilejów Tworzenie tabel Wstawianie danych Wyszukiwanie danych Zmiany struktury i zawartości tabel

Uruchomienie bazy MySQL Połącznie z bazą danych MySQL mysql -h nazwa_komputera -u identyfikator_uzytkonika p np: > mysql -h localhost -u root -p tworzenie bazy danych: > create database nazwa_bazy; pokazanie utworzonych baz danych: > show databases; przejscie do bazy: >use nazwa_bazy;

Poziomy przywilejów Polecenia GRANT i REVOKE służą do nadawania i odbierania użytkownikom MySQL praw na czterech poziomach uprzywilejowania: globalny baza danych tabela kolumna

Definiowanie użytkowników GRANT przywileje [kolumny] ON obiekt TO identyfikator_uzytkownika [ IDENTYFIED BY 'haslo'] [REQUIRE opcje_ssl] [WITH [GRANT OPTION ograniczenia] Utworzenie użytkownika mającego status administratora: mysql> grant all -> on * -> to robert identified by 'haslo' -> with grant option; Utworzenie użytkownika bez przywilejów mysql>grant usage -> on moja_baza. * -> to student identified by 'mnb123 ;

Modyfikowanie przywilejów mysql> grant select, insert, update, delete, alter, drop ->on moja_baza.* ->to student Usunięcie części przywilejów: mysql> revoke alter, drop ->on moja_baza.* ->from student

Typy przywilejów Typy przywilejów: Nadawane zwykłym użytkownikom SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP Przywileje dla administratorów FILE, LOCK TABLES, PROCESS, RELOAD, SHOW DATABASES, SHUTDOWN, SUPER Przywileje specjalne ALL PRIVILEGES, USAGE

Usuwanie przywilejów REVOKE przywileje ON obiekt FROM identyfikator_uzytkownika usuwanie użytkownika - with grant option mysql>revoke all privileges, grant ->from student; usuwanie części przywilejów: mysql> revoke alter, create, drop ->on my_db.* ->from student;

Tworzenie tabel bazy danych CREATE TABLE nazwa_tabeli(kolumny) np: create table klienci ( klientid int unsigned not null auto_increment primary key, ); nazwisko char(50) not null, adres char(100) not null, miejscowosc char(30) not null Aby pokazać utworzone tabele: mysql> show tables; Aby pokazać zawartość tabeli: mysql> describe klienci;

Typy danych w MySQL Liczby całkowite: TINYINIT, SMALLINIT, MEDIUMINIT, INTEGER, BIGINIT Liczby zminnoprzecinkowe: FLOAT, DOUBLE (REAL), DECIMAL Data i czas: DATE, TIME, DATETIME, TIMESTAMP, YEAR Łańcuchy znaków: CHAR(M), VARCHAR(M) Dane binarne: TEXT, BLOB

Wstawianie danych INSERT [INTO] nazwa_tabeli [ (kolumna1, kolumna2,..)] VALUES(wartosc1, wartosc2,...) np: insert into klienci values (3, 'Julia Kowalska', 'Wierzbowa 25', 'Warszawa'), (4, 'Adam Pawlak', 'Szeroka 1/47', 'Szczecin'), (5, 'Michalina Nowak', 'Zachodnia 357', 'Gliwice');

Wyszukiwanie danych SELECT [opcje] kolumna [INTO plik] FROM nazwy_tabel [WHERE warunek] [GROUP BY rodzaj_grupowania] [HAVING wartosc_funkcji] [ORDER BY porzadek_sortownia] [LIMIT limit] [PROCEDURE nazwa_procedury(argumenty)];

Wyszukiwanie danych

Typy złączeń tabel Kartezjański - wszystkie możliwe kombinacje połączeń wierszy łączonych tabel przez użycie przecinków oddzielających nazwy tabel, bez klauzuli WHERE Full join jak wyżej Cross join jak wyżej z klauzulą CROSS JOIN między nazwami tabel Inner join równoważne przecinkowi między nazwami tabel stosowane z WHERE (bez klauzuli WHERE staje się Full join) Equi-join stosowane z warunkiem zawierającym znak równości w celu wyszukania pasujących do siebie wierszy z różnych tabel, w SQL odpowiada mu klauzula WHERE Left join/right join używane w celu wyszukiwania brakujących wartości

Typy złączeń tabel Inner join Left join Right join Full join

Wyszukiwanie w wielu tabelach Łączenie dwóch tabel Łączenie trzech tabel

Szeregowanie danych w określonym porządku ORDER BY

Agregowanie i grupowanie danych Funkcje agregujące: avg(kolumna)- wartość średnia count(kolumna) ilość wartości niezerowych min(kolumna) - najmniejsza w kolumnie max(kolumna) - największa w kolumnie std(kolumna) - odchylenie standardowe sum(kolumna) suma wartości w kolumnie

Zmiany rekordów UPDATE nazwa_tabeli SET kolumna1=wyrażenie1, kolumna2=wyrażenie2 [WHERE warunek] [ORDER BY kryteria_porzadkowania] [LIMIT ilosc] np.: update klienci set adres='olkuska 250' where klientid=4;

Zmiany struktury tabel ALTER TABLE nazwa_tabeli zmiana [, zmiana,...] np. alter table zamowienia add podatek float(6.2) after wartosc; <-dodanie kolumny alter table zamowienia drop podatek; <-usuwanie kolumny alter table klienci modify nazwisko char(70) not null; <-zmiana typu kolumny

Usuwanie elementów bazy danych Usuwanie rekordów: DELETE FROM tabela [WHERE warunek] [ORDER BY kolumny_sortowania] [LIMIT ilosc] np. delete from klienci where klientid=5; Usuwanie tabel: drop table nazwa_tabeli; Usuwanie całej bazy danych: drop database baza_danych;

Administracja i funkcje zaawansowane MySQL System przywilejów Ochrona bazy danych Tworzenie kopii zapasowych bazy danych Ładowanie danych do tabeli z pliku Maszyny zapisu Transakcje Klucze obce Procedury składowane

System przywilejów Systemowa baza danych mysql przechowuje w tabelach informacje o przywilejach wszystkich użytkowników zarejestrowanych do bazy i zmiany wywołane poleceniem GRANT Tabela user - globalne przywileje użytkowników Tabele db i host - przywileje dostępu do poszczególnych baz danych Tabele tables_priv i columns_priv przywileje nadane na wskazane tabele i kolumny Aby odświeżyć zmienione przywileje należy przeładować bazę danych: flush privleges; z poziomu systemu: mysqladmin flush-privileges mysqladmin reload

Ochrona bazy danych Nadawanie wszystkim użytkownikom haseł i odpowiednie ich ukrywanie Ustawianie przywilejów użytkowników na jak najbardziej ograniczone, tylko na ich potrzeby. Wszystkie dane pochodzące od użytkownika powinny podlegać weryfikacji. W przypadku przesyłania danych poufnych należy zastosować protokół SSL.

Tworzenie kopii zapasowej bazy danych MySQL W katalogu bin serwera mysqldump -u root -p - opt - all-databases > /sciezka/do/kopii/wszystkie.sql zapisanie w pliku zrzutu wszystkie.sql wszystkich poleceń SQL niezbędnych do zrekonstruowania bazy danych. mysqlhotcopy database /sciezka/do/kopii

LOAD DATA INFILE LOAD DATA INFILE "noweksiazki.txt" INTO TABLE ksiazki; Instrukcja pozwala na odczytanie danych z pliku noweksiazki.txt i zapisanie ich w tabeli ksiazki. Pola danych w pliku muszą być rozdzielone znakiem tabulacji, dane umieszczone w apostrofach, a każdy wiersz musi być zakończony znakiem nowego wiersza(\n).

MySQL Maszyny zapisu Maszyna zapisu określa typ i sposób przechowywania tabeli: MyISAM typ domyślny o indeksowo-sekwencyjnej metodzie dostępu, który jest standardową metodą zapisu plików i rekordów. Nie obsługuje transakcji i kluczy obcych. ISAM typ jak powyżej, obecnie uznany za przestarzały MEMORY zapisywanie tymczasowych tabel w pamięci (do pracy na danych tymczasowych) MERGE cechy MyISAM, omija systemowe ograniczenie wielkości pliku BDB tabele obsługujące transakcje (Berkeley DB) InnoDB tabele obsługujące transakcje i klucze obce, działające szybciej od tabel BDB, w przypadku stosowania maszyny zapisu obsługującej transakcje jest to zalecany typ tabel. Zmiana typu tabeli: alter table zamowienia type=innodb;

Transakcje Transakcje to mechanizm pomagający w utrzymaniu spójności danych, szczególnie w przypadku wystąpienia błędu bądź załamania serwera. Transakcją jest zapytanie lub seria zapytań, dla których zagwarantowane jest, że zostaną wykonane w całości, lub też w całości niewykonane. Transakcje muszą spełniać normy ACID: atomowość transakcja musi być wykonana w całości lub nie wykonana wogóle spójność transakcja powinna pozostawić spójną bazę danych izolacja operacja do zakończenia transakcji powinna być odizolowana od bazy trwałość po zapisaniu w bazie danych transakcja powinna być trwała

Uruchamianie transakcji w InnoDB Wyłączenie domyślnego, automatycznego zatwierdzania dla sesji: set autocommit=0; Jeżeli automatyczne zatwierdzanie jest włączone, każdą transakcję należy zaczynać instrukcją: start transaction; Aby zatwierdzić instrukcje składające się na transakcję nalaży wpisać: commit; Czynność można cofnąć przed wydaniem commit poleceniem : rollback;

Klucze obce np. Mechanizm kluczy obcych dostępny jest w tabelach typu MyISAM i InnoDB Klucze obce mogą być traktowane tak samo jak klucze główne i będą wymagały podawania właściwych wartości zgodnych z numeracją tego klucza Tabele typu InnoDB wprzeciwieństwie do MyISAM kontrolują integralność kluczy obcych. >alter table pozycje_zamowione add foreign key (zamowienieid) references zamowienia(zamowienieid); Kolumna zamowienieid staje się kluczem obcym na podstawie klucza głownego tabeli zamowienia w kolumnie o tej samej nazwie.

Klucze obce Przykład nadania klucza obcego dla pola zamowieniaid i próba wpisania wartości do tego pola. W przypadku tabeli InnoDB takie działanie jest niedozwolone, w przeciwieństwie do MyISAM.

Procedury składowane Procedura składowana jest podprogramem utworzonym i zapisanym w MySQL. #Przykład prostej procedury skladowanej delimiter// create procedure suma_zamowien(out suma float) BEGIN select sum(wartosc) into suma from zamowienia; END // delimiter; #Uruchomienie procedury call suma_zamowienia(@t);

Funkcje składowane #Przykładowa funkcja delimiter // create function dodaj_podatek(cena float) returns float return cena*1.22; // delimiter ; #uruchomienie funkcji select dodaj_podatek(100);

Łączenie z bazą danych mysqli_connect(servername,username,password,dbname); new mysqli (servername,username,password,dbname); $con = mysqli_connect("localhost","peter","abc123, mydb ); lub $con = new mysqli ("localhost","peter","abc123, mydb ); if (!$con) { die( Nie mogę nawiązać połączenia. ); } Połączenie z PostgreSQL: $dbconn = pg_connect ("host=localhost port=5432 dbname=testdb user=lamb password=foo");

Pobieranie danych z bazy danych Wybór bazy danych: mysqli_selecet_db($db, nazwa_bazy); $db ->select_db(nazwa_bazy); Wysłanie zapytania: $wynik = mysqli_query($db, $zapytanie); $wynik=$db->query($zapytanie); Wersja PostgreSQL: $wynik = pg_query($dbconn, $zapytanie);

Odczytanie rezultatu zapytania Wersja proceduralna: $wiersz = mysqli_fetch_assoc($wynik); //tablica asocjacyjna $wiersz = mysqli_fetch_row($wynik); //tablica numeryczna $wiersz = mysqli_fetch_array($wynik); //obie tablice Wersja obiektowa: $wiersz = $wynik->fetch_assoc(); $wiersz = $wynik->fetch_row(); $wiersz = $wynik->fetch_array(); Wersja PostgreSQL: $wiersz = pg_fetch_assoc($wynik); $wiersz = pg_fetch_row($wynik); $wiersz = pg_fetch_array($wynik);

Zamykanie połączenia z bazą danych mysqli_free_result($wynik); $wynik -> free(); mysqli_close($db); $db->close(); pg_close($dbconn);

Przykład- Pobieranie danych z bazy <?php $db = mysqli_connect("localhost", "student", "student", "test"); if(!$db) { die('<p><strong>nie można odczytać danych w tej chwili</strong></p></body></html>'); } $zapytanie = "select * from posty"; $wynik = mysqli_query($db, $zapytanie); //obliczenie ilosci pobranych rekordów $ilosc_pozycji= mysqli_num_rows($wynik); if($ilosc_pozycji==0){ echo '<p>brak postów</p>'; }else { for($i=0; $i<$ilosc_pozycji && $i<3; $i++){ $wiersz=mysqli_fetch_assoc($wynik); echo '<div id="posty"><p >'.stripslashes($wiersz['data']). '</p><p> '.stripslashes($wiersz['temat']). '</p> <p> '.stripslashes($wiersz['tresc']). '</p> <p>'.stripslashes($wiersz['autor']). '</p> </div>'; } } mysqli_free_result($wynik); mysqli_close($db);?>

Wpisywanie danych do bazy @ $db = mysqli_connect('localhost', 'student', 'student', 'test'); if(!$db) { die('<p><strong>nie można zarejestrować w tej chwili</strong></p></body></html>'); } //wysyłanie zapytania $zapytanie = "insert into posty(data, autor, temat, tresc) values('".$data."','".$autor."','".$temat."','".$tresc."')"; $wynik = mysqli_query($db, $zapytanie); if($wynik) echo '<div id="one">post został dodany: '.mysqli_affected_rows($db).'</div>'; mysqli_close($db);

Włączenie obsługi PHP w serwerze Apache W pliku konfiguracyjnym Apache: LoadModule php5_module "C:\php\php5apache2_4.dll" AddHandler application/x-httpd-php.php # configure the path to php.ini PHPIniDir "C:\php" ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "C:\php\ext"

Włączenie obsługi baz danych w interpreterze PHP Usunąć komnetarz w postci ';' dla MySQL: extension=php_mysql.dll extension=php_mysqli.dll Dla PostgreSQL: extension=php_pgsql.dll