Využití databází v PHP

Mezi jednu z největších výhod databází patří to, že k datům v nich uloženým lze přistupovat z mnoha různých aplikací. PHP nabízí funkce, které umožňují spolupráci s několika databázovými servery. Nechybí mezi nimi samozřejmě ani MySQL.

Princip práce s databází v PHP skriptech je velice jednoduchý. Skládá se z několika kroků:

  1. Připojení k databázi – vybereme si, ke kterému serveru se chceme připojit, a určíme jméno a heslo, pod kterým se chceme přihlásit.

  2. Zaslání SQL příkazu – serveru pošleme libovolný SQL příkaz.

  3. Zpracování výsledku – server nám vrátí výsledek předchozího SQL příkazu. Pokud jsme posílali příkaz SELECT, můžeme postupně získat a zpracovat jednotlivé řádky výsledku – například je vytisknout jako součást wapové stránky.

Připojení k MySQL databázi je velice jednoduché. Slouží k tomu funkce MySQL_PConnect():

MySQL_PConnect("localhost", "jmeno", "heslo");

Prvním parametrem funkce je adresa počítače, na kterém běží databáze. Většina web-hostingů má databázový server spuštěný na stejném počítači jako webový server, a stačí proto uvést název localhost. Další dva parametry jsou jméno a heslo, které nám pro přístup k databázi přidělil její správce.

Po úspěšném připojení k databázi si musíme vybrat konkrétní databázi, se kterou budeme pracovat. Její jméno nám opět sdělí správce serveru:

MySQL_Select_DB("nazev_databaze");

Pro samotné zaslání SQL příkazů slouží funkce MySQL_Query(). Jako její parametr se předává SQL příkaz. Funkce nám vrátí hodnotu, která nám umožňuje s výsledkem dále pracovat (při příkazu SELECT). Pro ostatní příkazy nám vrací logickou hodnotu, která odpovídá úspěšnosti/neúspěšnosti provedení dané operace.

Pokud si chcete vše vyzkoušet, můžete využít některou ze zdarma dostupných web-hostingových služeb. My jsme minule využívali služby serveru yo.cz. Správce tohoto serveru můžete požádat o zřízení přístupu do databáze. Název databáze je shodný s vaším uživatelským jménem, jméno a heslo je stejné jako u FTP přístupu pro nahrávání stránek. V následujících ukázkách budu používat mé uživatelské jméno jkj. Ve vašich skriptech místo něj musíte použít své jméno.

Yo.cz nenabízí možnost vzdáleného přihlášení k databázi a proto musíme i tabulku vytvořit pomocí PHP skriptu (příklad 1). Skript pomocí protokolu FTP nahrajeme k našim ostatním skriptům a spustíme jej z webového prohlížeče – tj. zadáme adresu http://www.yo.cz/pages/jkj/create.php.

Příklad 1. Zaslání SQL příkazu ze skriptu – create.php

<?
  MySQL_PConnect("localhost", "jkj", "heslo");
  MySQL_Select_DB("jkj");
  $vysledek = MySQL_Query("CREATE TABLE Telefony (
		  Id      INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		  Jmeno   VARCHAR(40),
		  Telefon VARCHAR(14),
		  Email   VARCHAR(60))");
   if ($vysledek)
     echo "SQL dotaz byl úspěšný.";
   else
     echo "Při zpracování SQL příkazu došlo k chybě.";
?>
© Jiří Kosek 2000-2001