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ť

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno

PHP a MySQL - Prepojenie 1. časť

Google       Google       25. 4. 2006       36 178×

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 NVIDIA shrnuje přehled novinek na E3 2018

    NVIDIA shrnuje přehled novinek na E3 2018

    Společnost NVIDIA si u příležitosti E3 2018 připravila řadu novinek, které uvádí v kompletním přehledu, Například nové hry s podporou NVIDIA Highlights, která je součástí aplikace GeForce Experience, i nadále nabírá na obrátkách. Kromě výše zmíněné Shadow of the Tomb Raider získaly podporu také hry Dirty Bomb a Switchblade.

    Reklama
    Reklama
    Obrázek ke článku SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

    SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

    Firmy chrání svá citlivá data často nedostatečně. Podle průzkumu společnosti SODAT se v minulém roce setkalo až 80 % z nich s bezpečnostním incidentem ztráty nebo úniku dat. Jedna z pilotních firem, která testovala novou verzi řešení SODAT Protection & Analytics 2.0pro bezpečností analýzu a monitoring dat díky novince zjistila, kdo z disku smazal důležité výkresy a mohla na incident včas reagovat.

    Obrázek ke článku Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

    Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

    Letní měsíce jsou pro většinu zaměstnanců spojené s každoroční dovolenou. Z údajů Českého statistického úřadu vyplývá, že v roce 2017 podnikli Češi přes 13 milionů delších cest (tzn. s více než čtyřmi noclehy). Přitom právě na období července, srpna a září připadá více než 7,5 milionů z nich. Nicméně tradiční představu o dovolené jako o čase, kdy má práci na starost někdo jiný, Češi boří. 

    Obrázek ke článku 10 SEO mýtů, které už nemusíte v roce 2018 řešit

    10 SEO mýtů, které už nemusíte v roce 2018 řešit

    „Kolik má být na stránce klíčových slov?“, „Nemáš vyplněný meta tag keywords, to nebude fungovat.“, „Katalogy jsou mrtvý“. Také jste už slyšeli některé z těchto otázek? Pojďme si na ně konečně jednou provždy odpovědět.

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