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

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

 

PHP a MySQL - Prepojenie 1. časť

Google       Google       25. 4. 2006       32 904×

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 NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

    NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

    Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

    Reklama
    Reklama
    Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

    Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

    Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

    Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

    Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

    Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

    Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

    Konference: Mobilní technologie mají velký potenciál pro byznys

    Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

    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 © 20032016 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý