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

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

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

PHP a MySQL - Prepojenie 1. časť

Google       Google       25. 4. 2006       39 403×

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 Konference: Moderní informační systémy podporují automatizaci

    Konference: Moderní informační systémy podporují automatizaci

    Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

    Reklama
    Reklama
    Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

    Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

    Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

    Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

    Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

    Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

    Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

    Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

    Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

    Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý