SYSTEMY TELEINFORMATYCZNE



Podobne dokumenty
Instalacja MySQL.

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

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

Autor: Joanna Karwowska

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Język SQL, zajęcia nr 1

Wykład 5. SQL praca z tabelami 2

Bazy danych. Dr inż. Paweł Kasprowski

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

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

Wykład 05 Bazy danych

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

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

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

Bazy danych. Polecenia SQL

Internetowe bazy danych

Bazy danych 7. SQL podstawy

Projektowanie systemów baz danych

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

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

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

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

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

Relacyjne bazy danych. Podstawy SQL

Kurs. Podstawy MySQL

SIECI KOMPUTEROWE I BAZY DANYCH

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy Danych i Usługi Sieciowe

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

Wykład 4. SQL praca z tabelami 1

Wykład 8. SQL praca z tabelami 5

Bazy danych i usługi sieciowe

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

Systemy GIS Tworzenie zapytań w bazach danych

Relacyjne bazy danych. Podstawy SQL

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

PHP + MySQL w laboratorium (1)

Podstawy programowania III WYKŁAD 2

Bazy danych 5. Samozłaczenie SQL podstawy

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Podyplomowe Studium Programowania i Baz Danych

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

SQL (ang. Structured Query Language)

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

Paweł Rajba

5. Współpraca z bazą danych MySQL

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

Wprowadzenie do baz danych

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Bazy danych 4. SQL podstawy. P. F. Góra

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych. dr Radosław Matusik. radmat

Bazy Danych i Usługi Sieciowe

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Wprowadzenie do JDBC z wykorzystaniem bazy H2

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

Przestrzenne bazy danych Podstawy języka SQL

Dr Michał Tanaś(

Struktura drzewa w MySQL. Michał Tyszczenko

Autor: Joanna Karwowska

Wykład 2. SQL 1 Structured Query Lenguage

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Bazy danych Access KWERENDY

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

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

Obiektowe bazy danych

Bazy danych - wykład wstępny

Instrukcja CREATE TABLE

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

SIECI KOMPUTEROWE I BAZY DANYCH

Wyzwalacze (triggery) Przykład

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

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

Połączenie z bazą danych : mysql h u root -p Enter password: *******

TEST E.14 BAZY DANYCH

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Podyplomowe Studium Programowania i Baz Danych

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

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

Komunikacja z bazą danych psql

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

CREATE USER

Bloki anonimowe w PL/SQL

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

2. Podstawy języka SQL

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

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Aplikacje internetowe

Transkrypt:

SYSTEMY TELEINFORMATYCZNE Upload MySQL AiR 5r. Wykład 6

Upload plików Formularz <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="obrazek1" /> <input type="submit" value="wyslij" /> </form>

Dostępna jest na serwerze asocjacyjna dwuwymiarowa tablica $_FILES nazwy pól input name type obrazek1 obrazek2 tmp_name error size

<?php //print_r($_files); echo "<BR>"; Plik upload.php if (isset($_files['obrazek'])) { if ($_FILES['obrazek']['error']==0) { echo "tmp_name:".$_files["obrazek"]["tmp_name"]; echo "<BR>name:".$_FILES["obrazek"]["name"]; if (is_uploaded_file($_files["obrazek"]["tmp_name"])) if (!file_exists('./zdjecia/'.$_files["obrazek"]["name"])) { move_uploaded_file($_files["obrazek"]["tmp_name"],'./zdjecia/'.$_files["obrazek"]["name"]); // tu można dodać nazwę pliku do bazy danych echo "<p>plik dodany</p>"; } else echo "<p>taki plik już był w tym katalogu</p>"; } } cd.

$filename = './zdjecia/'.$_files["obrazek"]["name"]; if (file_exists($filename)) echo "Plik ". $filename." istnieje"; else { echo "Plik". $filename." nie istnieje"; } $nazwa_kat = 'zdjecia'; echo "<BR />Utworzenie tablicy nazw zdjęć w katalogu: ".$nazwa_kat."<br />"; $kat = opendir($nazwa_kat); //otwarcie katalogu do czytania while ($naz_pliku = readdir($kat)) //warunek zakończenia spisu if (($naz_pliku!=".")&&($naz_pliku!="..")) //pominięcie. i.. $tbl[ ]=$naz_pliku;//nazwy do tablicy closedir($kat); //zamknięcie katalogu // dalej wyświetlenie tablicy i obrazków.?>

Serwer MySQL język zapytań Firma Oracle wersje: od 3 przez 5.1 aż do 7.1 (MySQLCluster) też wersje dla Windows

Metody zarządzania bazą: proces mysqld.exe lub mysql_nt.exe(menedżer zadań Windows). PhpMyAdmin (przeglądarka) Konsola MySQL (lokalnie lub zdalnie) Uruchomienie wiersza polecenia (START - Uruchom cmd lub Programy Akcesoria - Wiersz polecenia). Przechodzimy do foldera c:\usr\mysql\bin mysql u root p wpisujemy hasło i możemy używać kwerend MySQL W skryptach PHP Pliki baz danych tworzone są zwykle w folderze...mysql/data

Uruchomienie lokalne konsoli MySQL c:\usr\mysql\bin>mysql u root p Password:... Zgłasza się konsola MySQL gotowość do wpisywania poleceń: mysql> zdalnie na serwerze folder /var/lib/mysql

Baza danych składa się z tabel Tabele to zestaw rekordów danych elementarnych (pola rekordu) Model relacyjny Normalizacja tabel i związki między nimi (złączenia) - ERD pole rekord rekord id nazwa adres 1 ABC Rzeszów... 2......

OPERACJE SQL NA BAZIE (kwerendy) tworzenie bazy i tabeli selekcja rekordów wstawianie rekordów modyfikacja treści rekordów modyfikacja struktury usuwanie rekordów, tabeli, bazy Poznanie języka SQL będzie nam potrzebne do wykonania opreacji na bazie w skryptach PHP

TWORZENIE BAZY będziemy tworzyć w PHPMyAdmin, ale można też wykonać kwerendą w zdalnej konsoli MySQL lub wykonać kwerendę w PHP CREATE DATABASE nazwa_bazy;

TWORZENIE TABELI będziemy tworzyć w PHPMyAdmin ale można tez wykonać kwerendą lub w PHP wykonać kwerendy: USE nazwa bazy; CREATE TABLE nazwa_tabeli (nazwapola1 typ parametry, nazwapola2 typ parametry,...itd); parametry: Np. NOT NULL - niepuste PRIMARY KEY klucz główny AUTO_INCREMENT - autonumerowanie DEFAULT wartosc_domyślna CREATE TABLE dostawcy (Id INT(10) AUTO_INCREMENT PRIMARY KEY, Nazwa VARCHAR(10), Adres VARCHAR(30));

Każda tabela ma pola określonego typu jedno z nich powinno być kluczem głównym wartości w tym polu są unmikalne TYPY DANYCH Standard ISO SQL (1992) przewiduje około piętnastu typów danych, podzielonych na grupy:

Typy tekstowe - alfanumeryczne (String) VARCHAR(N) jest polem o zmiennej długości nie przekraczającej N Także BLOB (binarne), SET (zbiór).

Typy liczbowe (Numeric) INT, BIGINT, FLOAT, DECIMAL Na ogół dostępnych jest wiele różnych typów liczbowych, różniących się możliwym zakresem wartości (INT, BIGINT, SMALLINT,...) i precyzją (FLOAT, DOUBLE PRECISION,...). Typ DECIMAL(M,D) to liczba (ułamek) dziesiętny o ustalonej liczbie cyfr dziesiętnych w części całkowitej i ułamkowej.

Typy daty i godziny DATE TIME DATETIME TIMESTAMP

WYŚWIETLENIE (WYBÓR - SELEKCJA) REKORDÓW TABELI z wykorzystaniem klauzul SELECT [tabela.]{* [lista_pól]} FROM lista_nazw_tabel [WHERE warunek] [ORDER BY... ] /sortowanie [GROUP BY...]; /agregacja sumowanie lub zliczanie z grupowaniem wg wybranego pola [ opcja] { do wyboru albo albo}

Operatory porównania w warunkach Równość: = Nierówność: <> lub!= Mniejszy lub równy <= Większy lub równy >= Większy niż > Mniejszy niż < Porównanie do wzorca LIKE A BETWEEN B AND C: wyrażenie takie jest równoważne A>=B AND A<=C o ile porównywane wyrażenia są tego samego typu.

Metaznaki % - zastępuje dowolny ciąg znaków _ (podkreślnik) zastępuje 1 dowolny znak Przykłady: select * from dostawcy where nazwa like "a%"; nazwa rozpoczyna sie od "a" select * from dostawcy where nazwa like "%al%"; nazwa zawiera frazę "al" select * from dostawcy where nazwa like "_a%"; litera "a" na drugim miejscu nazwy

Operatory logiczne w klauzuli WHERE NOT: logiczna negacja. MySQL dopuszcza jako alternatywną notację wykrzyknik (!). OR: logiczna alternatywa. MySQL dopuszcza alternatywną notację AND: : logiczna koniunkcja. Tu również MySQL dopuszcza notację &&.

Wyrażenia logiczne Złożone wyrażenia logiczne, zbudowane za pomocą operatorów logicznych, zwracają: 1 jako reprezentację wartości prawdziwej, 0 jako reprezentację fałszu.

Przykłady klauzuli WHERE.. WHERE nazwa_pola1=wartość.. WHERE n_p1=war1 AND n_p2=war2.. WHERE n_p1=war1 OR n_p2=war2.. WHERE n_p between war1 AND war2.. WHERE cena<100.. WHERE n_p LIKE '%fraza%'.. WHERE n_p1=wartosc1 OR n_p2=wartosc2

Przykłady SELECT id, nazwa FROM dostawcy; SELECT * FROM magazyn; SELECT id_t, nazwa from magazyn WHERE cena_n>50; SELECT id_t, nazwa from magazyn WHERE cena_n between 50 and 80; SELECT id_t, nazwa from magazyn WHERE cena_n>50 and cena_n<80 ; SELECT id_t, nazwa from magazyn WHERE cena_n>50 and cena_n<80 ORDER BY cena_n ; SELECT id_t, nazwa from magazyn WHERE cena_n>50 and cena_n<80 ORDER BY cena_n desc;//desc oznacza kolejność malejącą lub użycie operatora between

Można też używać kwerendę SELECT do obliczeń: SELECT 4*5; Można też wykonywać operacje na polach: SELECT nazwa, cena*5 from towary; SELECT 4*5; SELECT kat, count(id_t) from towary group by kat; Porada: wypróbowywać poprawność kwerend w MyPHPAdmin

Wyrażenia arytmetyczne na polach tabeli Proste operatory arytmetyczne to dodawanie (+), odejmowanie (-), mnożenie (*) i dzielenie (/). Wynikiem dzielenia przez zero jest NULL. Ponadto w MySQL dostępny jest dość bogaty zestaw funkcji matematycznych (wykładnicze, logarytmiczne, trygonometryczne itp.). W wypadku błędu (nielegalnego argumentu) zwracana jest wartość NULL. SELECT cena_netto+vat*cena_netto AS cena_brutto FROM magazyn; tabela alias

MySQL - FUNKCJE MATEMATYCZNE - niektóre exp(x) ln(x) sin(x) pow(x,y) sqrt(x) pi() mysql> SELECT sum(pole_liczbowe) from towary; mysql> SELECT ABS(-32); -> 32 mysql> SELECT SIGN(-32); -> -1 mysql> SELECT MOD(234, 10); (albo operator %) -> 4 mysql> SELECT FLOOR(1.23); -> 1 mysql> SELECT FLOOR(-1.23); -> -2 mysql> SELECT ROUND(1.298, 0); -> 1 mysql> SELECT ROUND(23.298, -1); -> 20

Przykłady: SELECT sum(cena*ilosc)*0.9 FROM towary; SELECT cena*0.9 AS Przecena FROM ksiazki WHERE autor='tuwim'; SELECT cena*0.9 AS Przecena FROM ksiazki WHERE autor like 'T%'; SELECT cena, VAT, cena+vat AS Cena_br FROM ksiazki WHERE tytul LIKE '%przygody%';

Funkcje dotyczące daty i godziny CURDATE() lub CURRENT_DATE: zwraca bieżącą datę w postaci YYYY-MM-DD (rok-miesiąc-dzień), lub YYYYMMDD, w pierwszym wypadku jako napis, w drugim jako liczbę całkowitą CURTIME() lub CURRENT_TIME: zwraca bieżącą godzinę w postaci HH:MM:SS (godzina:minuta:sekunda), lub HHMMSS NOW() : zwraca bieżącą datę i godzinę w postaci napisu YYYY-MM-DD HH:MM:SS

DATE_FORMAT(data, format): konwertuje datę na napis, którego format można kontrolować za pomocą napisu formatującego. TIME_FORMAT(czas, format): funkcja analogiczna do powyższej, lecz akceptująca jedynie specyfikatory formatu dotyczące godziny, minuty i sekundy. TO_DAYS(data): zamienia datę na liczbę całkowitą oznaczającą liczbę dni od początku roku 0. Funkcja ta (oraz następna) przydają się do obliczania liczby dni jakie upłynęły między dwiema datami. FROM_DAYS(liczba_dni): zamienia liczbę całkowitą, interpretowaną jako liczba dni od początku roku 0, na datę (napis postaci YYYY-MM-DD).

Przykłady SELECT TO_DAYS('2010-04-11') zwróci 734238 SELECT FROM_DAYS(734238) zwróci 2010-04-11 SELECT TO_DAYS(CURDATE())- TO_DAYS('2010-01-01') zwróci liczbę dni od początku roku do dziś ZAMIAST CURDATE() można stosować NOW()

WSTAWIENIE REKORDU Z DANYMI DO WYBRANYCH PÓL INSERT INTO tabela VALUES (NULL, wartość1, wartość2...); INSERT INTO tabela SET p_key=null, pole1=wartość1, pole2=wartość2...; Pozostałe pola pozostaną puste, jeśli nie mają cechy WYMAGANIE not null

Modyfikacja treści REKORDÓW UPATE tabela SET pole=wartosc WHERE warunek_selekcji; Przykłady: UPATE klienci SET nazwisko="kowalski" WHERE id=8; UPDATE towary SET cena_vat=cena*1.22 WHERE cena_vat>30;

USUWANIE REKORDÓW DELETE FROM nazwa_tabeli WHERE warunki; np.: DELETE FROM dostawcy; usuwa wszystkie rekordy!!! DELETE FROM dostawcy WHERE nazwa LIKE 'ABC'; usuwa wszystkie rekordy w których polu Nazwa jest wartość 'ABC'

Korekta struktury tabeli (dodawanie pola, zmiana nazwy pola, zmiana typu pola itp Kwerenda ALTER TABLE tabela CHANGE ADD RENAME.. ; Ewentualnie w miarę potrzeby wykorzystania w projekcie doczytać w internecie Łatwiejsza jest praca interakcyjna w phpmyadmin host/phpmyadmin logowanie na konta studenckie

USUWANIE TABELI DROP TABLE nazwa_tabeli; DELETE FROM dostawcy; usuwa wszystkie rekordy!!! DELETE FROM dostawcy WHERE nazwa LIKE 'ABC'; usuwa wszystkie rekordy w których polu Nazwa jest wartość 'ABC'

SQL złączenia tabel

Szczególne znaczenie ma klauzula WHERE w postaci: WHERE tab1.pole_klucz_glowny=tab2.pole_key_kl_obcy Posiada ważną rolę przy konieczności wyboru danych z dwóch tabel o typie złączenia 1:N

Wybór danych z kilku tabel SELECT tabela1.p1, tabela2.k1,... FROM tabela1,tabela2 WHERE tabela1.key_t1=tabela2.f_key_t2 tabela1 Key_t1 P1 P2 P3 P4 tabela2 Key_t2 K1 K2 K3 f_key_t2

marka id_m producent nazwa_p 1 Niemcy AUDI 2 Polska Fiat 3 Francja Citroen 4 USA Ford typ id_t marka_id nazwa_t 1 1 A6 2 1 A8 3 1 100 4 2 126p 5 2 Cinquecento 6 2 Panda 1:N 7 3 Berlingo 8 3 Xara 9 3 C3 SELECT typ.nazwa_t, marka. nazwa_p FROM marka, typ WHERE marka.id_m=typ.marka_id Złączenie tabel przez klucz główny tabeli MARKA i klucz obcy w tabeli TYP Uwaga wymaganie NOT NULL dla pola marka_id

PHP i MySQL Kolejność czynności: połączenie z serwerem MySQL wybór bazy wykonanie kwerendy wyświetlenie rezultatów (o ile jest to SELECT)

Połączenie z serwerem MySQL mysql_connect(host,user,password) funkcja - zwraca uchwyt do zasobu tzw. resource id lub false Przykład: $connection= @mysql_connect('localhost', $user, $password) or die ("Nie udało się"); if ($connection) echo "Połączyłeś się z bazą "; Można pominąć wyświetlenie komunikatu błędu poprzedzając nazwę funkcji znakiem @ die(text) równoważne exit( ) ;

Wybór bazy - parametrem jest nazwa bazy mysql_select_db(nazwa) mysql_select_db('personel');

Operacje na bazie wykonywane PRZY POMOCY POLECEŃ SQL mysql_query (SQLstring, connection) funkcja - wysyła zapytanie do aktywnej bazy na serwerze skojarzonym z podanym identyfikatorem połączenia - parametrem jest tekst zapytania MySQL (podany dosłownie lub wcześniej zdefiniowana zmienna tekstowa) mysql_query() zwraca identyfikator wyniku (lub FALSE w przypadku niepowodzenia) jedynie dla zapytań typu SELECT, SHOW, EXPLAIN i DESCRIBE $wynik =mysql_query($query); Każdą kwerendę MySQL można wykonać w PHP W przypadku kwerendy SELECT zmienna $wynik jest tzw. uchwytem do zasobu - handle

np. dodawanie danych do tabeli 1. Tworzenie interfejsu do dodawania rekordu (formularz) Formularz HTML powinien zawierać pola wejściowe dla każdej kolumny tabeli. Nazwy pól formularza powinny być takie same jak nazwy pól tabeli. MAXLENGHT w polach formularza powinien być taki jak dla odpowiednich pól (jeśli ustalono). 2. Tworzenie skryptu PHP do wstawiania rekordów do tabeli: //... połączenie z serwerem MySQL $polecenie="insert into tabela VALUES (NULL,'".$_POST['p1name']. "',".$_POST['p2name']. "," itd $rezultat = mysql_query($polecenie, $connection);

ZMIENNA ZAPYTANIA łańcuchowa $query="select id_ks, autor, tytul, cena from ksiazki where autor like '%$autor%' and tytul like '%$tytul%' "; $query="select id_ks, autor, tytul, cena from ksiazki where autor like \"%$autor%\" and tytul like \"%$tytul%\" "; //Jeśli niepuste pola graniczne cen if ($cena_od!= 0) //to przedłużamy zapytanie $query.= "and cena between $cena_od and $cena_do"; echo "Oto postać SQL: $query <BR>";

Pomocnicze funkcje mysql_num_rows($wynik) Funkcja zwraca liczbę znalezionych rekordów SELECTparametrem jest wartość zmiennej rezultatu ($wynik) mysql_query Aby pobrać ilość wierszy przetworzonych w operacjach INSERT, UPDATE lub DELETE należy użyć funkcji mysql_affected_rows(). Przykład: $ile = mysql_num_rows($wynik); echo "Rekordów:". $ile."<br>";

Wyświetlenie wyników kwerendy Funkcje mysql_fetch_array($wynik) mysql_fetch_row ( $wynik) ich argumentem jest zmienna będąca wynikiem zapytania, efektem jest tabela z danymi jeśli jest to zapytanie SELECT

mysql_fetch_array($wynik) Funkcja zwraca tablicę (wiersz) składającą się z pól znalezionego rekordu sekwencyjnie uruchamiana zwraca kolejne rekordy, parametrem jest zmienna rezultatu zapytania SQL. Kolejne wywołanie MYSQL_FETCH_ARRAY () zwróci następny wiersz z wyniku, lub FALSE jeżeli nie ma więcej wierszy. np. mysql_fetch_array($wynik); albo alternatywnie mysql_fetch_row ( $wynik) Zwraca tablicę zawierającą wiersz rekordu lub FALSE jeżeli nie ma więcej wierszy w wynik, pobiera jeden wiersz danych z wyniku skojarzonego z podanym identyfikatorem wyniku. Wiesz zwracany jest jako tablica. Komórki są umieszczone pod indeksami, zaczynając od 0. Kolejne wywołanie MYSQL_FETCH_ROW () zwróci następny wiersz z wyniku, lub FALSE jeżeli nie ma więcej wierszy. MYSQL_FETCH _ROW szybsze ale mniej elastyczne od MYSQL_FETCH_ARRAY

A zatem...kolejność czynności - połaczenie z Mysql mysql_connect - otwarcie (wybór) bazy - mysql_select_db - sformułowanie zapytania $zmienna='select - wykonanie zapytania mysql_query - ewentualne wyświetlenie wyników zapytania z wykorzystaniem uchwytu do zasobu funkcją mysql_fetch_array

<?php $connection= mysql_connect('localhost',student01, 'S@moloty') or die("nie udało się"); mysql_select_db('ksiegarnia'); $sql="select autor, tytul from ksiazki"; $wyn = mysql_query($sql); echo "<FONT size=5>"; $tabela=mysql_fetch_array($wyn); echo $tabela[0]; echo "<B> ---".$tabela[1]."</b><br>"; $tabela=mysql_fetch_array($wyn); echo $tabela[0]; echo "<B> ---".$tabela[1]."</b><br>"; Przykład //albo w pętli //przewinięcie zasobu na początek mysql_data_seek($wyn,0); while ($wiersz=mysql_fetch_array($wyn)) { echo $wiersz[0]. "---". wiersz[1] "---". wiersz[2]."<br>"; }?>

Wyświetlenie rezultatów w pętli while <?php $pol=mysql_connect('localhost', 'root', 'krasnal') or die('nie można się połączyć: '. mysql_error()); mysql_select_db('hurtownia'); $wynik = mysql_query("select kod_towaru, opis FROM kategorie"); while ($row = mysql_fetch_array($wynik)) { echo "ID: ". $row[0]. " Nazwa: ". $row[1]."<br/>"; }?>

<?php lub dostęp asocjacyjny $polaczenie=mysql_connect('localhost', 'root', 'krasnal') or die('nie można się połączyć: '. mysql_error()); mysql_select_db('hurtownia'); $wynik = mysql_query("select kod_towaru, opis FROM kategorie"); while ($row = mysql_fetch_array($wynik)) { } echo "ID:". $row['kod_towaru']." Nazwa:". $row['opis']."<br>"; echo "<BR>"; mysql_close($polaczenie);?>