PHP a MySQL - Prepojenie 1. časť
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

PHP a MySQL - Prepojenie 1. časťPHP a MySQL - Prepojenie 1. časť

 

PHP a MySQL - Prepojenie 1. časť

Google       Google       25. 4. 2006       34 036×

V tejto chvíli sme prebrali základy MySQL a môžeme si vysvetliť, akým spôsobom bude spolupracovať s PHP. Pre prácu s MySQL nám ponúka PHP mnoho rozličných funkcií. My sa naučíme, ako vytvárať dynamické stránky s podporou databázy.

Reklama
Reklama

PHP a databáza MySQL

To, že budeme schopný pripojiť sa k databázy a nejakým spôsobom svňou pracovať dodáva naším webovým stránkam život.

Prečo je dobré, aby naše webové stránky komunikovali s databázami?

Odpoveď je veľmi jednoduchá a je ich hneď aj viac.

  1. Pokiaľ máme väčšinu textu uloženého v DB môžeme si spraviť veľmi jednoduché vyhľadávanie na stránke.
  2. Väčšina DB býva zdieľaná, a tak aj zaindexovaná vo väčšine vyhľadávačov. Takže, keď napr. budeme hľadať v Googli nejaký text, ktorý sa nachádza v DB, tak by sme ho mali nájsť na popredných miestach
  3. Naše stránky sa s pôvodných statických stávajú dynamické.
  4. Ušetrenie práce s vývojom vlastných mechanizmov pre manipuláciu s dátovými súbormi.

Má to všetko aj svoje nevýhody, ako je výpadok DB servera, čo môže spôsobiť nefunkčnosť našej stránky.

Typy databáz

Databázy, s ktorými sa môžeme stretnúť, sú založené na relačnom module dát. To znamená, že dáta sú rozdelené do tabuliek a k práci s dátami sa používa relačná algebra. V praxi to znamená, že jedna tabuľka obsahuje dáta o jednom objekte. Dáta sú uložené do riadkov a stĺpcov.

Ďalším typom databázy sú objektovo orientované databázy. Dáta v nich sú ukladané v objektoch, na ktorých sa aplikujú ich vlastnosti a metódy. Je to pomerne nový typ databázy tohto typu, neposkytuje taký výkon ako databáza relačná, z dôvodu slabšieho vyhľadávacieho algoritmu.

Existujú i databázy oboch týchto typov. Jednou z nich je PostgreSQL, ktorá je v PHP tiež podporovaná.

Kde môžeme databázu využiť?

  • Návštevné knihy (Guestbook)
  • E-shopy
  • Bankové systémy

    A kopu ďalších aplikácií.

    Spojenie s MySQL

    Aby sme hovorili presne, prepojovanie funkcie MySQL sa nazýva aplikačné programovacie rozhranie (API).

    mysql_connect
    Inicializuje spojenie s DB MySQL.

    
    mysql_connect("nazov_mysql_servera", "uzivatel", "heslo");
    
    nazov_mysql_servera - je meno MySQL servera poprípade počítača, na ktorom beží MySQL. Doma na vašom serveri to býva zvyčajne localhost a môžem spomenúť napríklad jeden zo známejších free-webhostingov, ktorý ponúka aj podporu PHP skriptov aj databázu MySQL (webzdarma.cz) je názov MySQL servera mysql.wz.cz.

    uzivatel - je užívateľ MySQL servera, pod ktorým sa prihlasujete.
    heslo - je vaše heslo k DB MySQL.

    Príklad:

    Pokiaľ je na serveri vytvorený užívateľ root a s heslom root, tak potom by prihlásenie na počítač localhost vypadalo takto:

    mysql_connect("localhost", "root", "root");

    Samozrejme môžeme byť zalogovaní aj anonymne.

    mysql_connect("localhost", "", "");

    Týmto spôsobom sa budeme aj my prihlasovať.

    mysql_pconnect
    Otvorí do MySQL trvalé spojenie.

    mysql_pconnect("nazov_mysql_servera", "uzivateľ", "heslo");

    Tento príkaz funguje presne tak, ako mysql_connect, až na to, keď MySQL opustíte, zostane spojenie stále otvorené. Preto aj po návrate do MySQL budete môcť používať toto spojenie.

    mysql_select_db
    Prepína sa do aktuálnej pracovnej databázy.

    mysql_select_db("meno_databazy", "spojenie");

    meno_databazy – je meno aktuálnej databázy, s ktorou chceme pracovať.
    spojenie – je pripojenie k serveru MySQL.

    mysql_query
    Odosiela náš SQL príkaz k spracovaniu - SELECT, INSERT, UPDATE alebo DELETE.

    mysql_query("SQL_prikaz", "spojenie");

    SQL_prikaz - je korektný SQL príkaz.
    spojenie - je identifikátor aktuálneho spojenia.

    mysql_result
    Získava vrátené záznamy z určitého výsledku.

    mysql_result(vysledok);

    vysledok - je vygenerovaný pomocou mysql_query,mysql_list_tables alebo mysql_list_dbs.

    mysql_fetch_array
    Túto funkciu najčastejšie použijeme pre získanie riadkov z dát vrátených funkciou mysql_query. Zoberie výsledok SQL príkazu a vloží ho do pola.

    mysql_fetch_array("SQL_prikaz", "spojenie");

    V okamžiku, keď je výsledok uložený do pola, môžeme normálne použiť buď smyčku while, alebo cyklus for k tomu, aby sme prečítali jej obsah. Hodnota každého stĺpca je priradená jednotlivým premenným, s ktorými budeme v našich skriptoch pracovať.

    mysql_num_rows
    Vracia nám počet riadkov. Táto funkcia je určená k zisteniu počtu riadkov v dotaze typu SELECT.

    mysql_num_rows("ukazatel_na_vysledok_dotazu");

    ukazatel_na_vysledok_dotazu - najčastejšie to býva výsledok z mysql_query.

    mysql_num_fields
    Vracia počet stĺpcov v zázname.

    mysql_num_fields("ukazatel_na_vysledok_dotazu");

    Pracuje tak isto, ako funkcia mysql_num_rows.

    mysql_affected_rows
    Vracia množstvo záznamov získaných príkazmi INSERT, UPDATE alebo DELETE. Pokiaľ je vrátené číslo väčšie ako nula, prebehol jeden z týchto príkazov.

    mysql_affected_rows();
    if (mysql_affected_rows >="0");

    mysql_insert_id
    Vracia ID predchádzajúceho príkazu INSERT.

    mysql_insert_id("spojenie");

    spojenie - je voliteľné, môže byť použité aktuálne spojenie.

    mysql_create_db
    Vytvára databázu.

    mysql_create_db("meno_databazy", "spojenie");

    meno_databazy - je meno databázy, ktorú chceme vytvoriť.
    spojenie - je voliteľné, môže byť použité aktuálne spojenie.

    mysql_drop_db
    Maže nám databázu.

    mysql_drop_db("meno_databazy", "spojenie");

    meno_databazy - je meno databázy, ktorú chceme vymazať. spojenie - je voliteľné, môže byť použité aktuálne spojenie.

    mysql_close
    Ukončí aktuálne spojenie s MySQL.

    mysql_close("spojenie");
    spojenie - je voliteľné, môže byť použité aktuálne spojenie.

    Ďaľšie MySQL funkcie PHP

    Pochopiteľne, existujú ďalšie MySQL funkcie, o tých si v skratke povieme nakoľko sú menej používané.

    mysql_change_user() - zmení prihlasovaného užívateľa.
    mysql_data_seek() - presunie výsledkový ukazovateľ.
    mysql_fetch_field() - získa pole s výsledku dotazu.
    mysql_field_name() - získa názvy polí.
    mysql_field_table() - získa názov tabuľky, v ktorej je pole.
    mysql_field_type() - získa typ pola.
    mysql_list_dbs() - zoznam databáz dostupných na serveri.
    mysql_list_fields() - zoznam polí vo výsledku.
    mysql_list_tables() - zoznam tabuliek v databáze.

    Podrobnú dokumentáciu tiež nájdete na adrese http://www.php.net/manual/en/ref.mysql.php.

    Zhrnutie

    V dnešnej lekcii ste sa dozvedeli, prečo je dobré komunikovať s databázou MySQL v prostredí PHP, naučili ste sa základné MySQL funkcie, ktoré sú potrebné v jazyku PHP pre spojenie a pracovanie s MySQL.

    V ďalšej lekcii si ukážeme, ako vytvoriť jednoduchú stránku, na ktorej sa pripojíme k serveru MySQL, a necháme vypísať naše dáta z databázy.

  • ×Odeslání článku na tvůj Kindle

    Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
    Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

    E-mailová adresa (např. novak@kindle.com):

    TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

    3 názory  —  3 nové  
    Hlasování bylo ukončeno    
    0 hlasů
    Google
    Autor je študentom Masarykovej univerzity v Brne s odborom Aplikovaná Informatika. Medzi zaľuby patrí práca s PHP & MySQL, JAVA a práca s hudbou.

    Nové články

    Obrázek ke článku Blockchain & Bitcoin konference

    Blockchain & Bitcoin konference

    V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

    Reklama
    Reklama
    Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

    Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

    Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

    Obrázek ke článku Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

    Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

    Trend Micro, celosvětový lídr v oblasti bezpečnostních řešení a VMware, přední světový dodavatel cloudové infrastruktury a řešení pro podnikovou mobilitu, oznámily výsledky výzkumu mezi českými a slovenskými manažery zodpovědnými za ochranu osobních údajů, který zjišťoval, jak jsou připraveni na nové nařízení o ochraně osobních údajů (GDPR). Většina firem v České republice a na Slovensku nad 100 zaměstnanců je již s novým nařízením GDPR obeznámena. Výzkum provedený ve spolupráci s agenturou Ipsos ukázal, že téměř 8 firem z 10 o nařízení ví, přičemž jeho znalost je o něco vyšší na Slovensku (89 %) než v České republice (69 %).

    Obrázek ke článku Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

    Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

    Jeden z nejznámějších ransomwarů, Locky, se vrací. Po většinu roku 2016 patřil mezi nejrozšířenější vyděračské softwary. Ke svému šíření využíval emailové kampaně s infikovanými přílohami. Ransomware Locky byl rozesílán prostřednictvím botnetu (internetový robot zasílající spamy) Necurs. Jeho aktivita na konci roku 2016 téměř upadla a spolu s ní i šíření ransomwaru Locky. Před několika týdny se Necurs opět probudil a začal posílat spamy nabízející výhodný nákup akcií. Dne 21. dubna zaznamenal bezpečnostní tým Cisco Talos první velkou kampaň ransomwaru Locky prostřednictvím botnetu Necurs za posledních několik měsíců.

    loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
    Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý