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

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

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

    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ý