PHP pre začiatočníkov - Databázy, 11.diel
PHP pre začiatočníkov - Databázy, 11.diel
V článku sa dozviete základnú prácu s databázami. Základ by mal pozostávať už s pripojenia do databázy. Pripojenie do databázy zahájime pomocou jednoduchého skriptu.(mysql.php)
<?php
define("SERVER","sem_zadajte_server");
define("LOGIN","sem_zadajte_login");
define("PASS","sem_zadajte_heslo");
define("DATABASE","sem_zadajte_databázu");
$dbc = mysql_connect(SERVER,LOGIN,PASS) or die('Pripojenie k serveru
zlyhalo!');
mysql_select_db(DATABASE) or die('Nepodarilo sa označiť databázovú tabuľku!');
?>
Pre pripojenie budeme používať konštanty nie premenné, pretože ich hodnota zostáva len v jednom skripte a je nemožné ju zmeniť. Premenné sú v tomto prípade menej bezpečné. Na pripojenie však využijeme premennú $dbc. Ako vidíte funkcia mysql_connect() nás pripojí do databázy. Jej tvar pripojenia bude vyzerať nasledovne mysql_connect("server","login","heslo"). Aby sme mohli využívať aj databázu a nie sa k nej len pripojiť využijeme funkciu mysql_select_db(). Jej tvar asi netreba vysvetľovať, pretože do zátvoriek udávame len jeden parameter a to databázu ktorú budeme využívať.
Určite vás teraz zaujíma ako vytvoriť databázu, ktorú bude server využívať. Na vytvorenie databázy budeme využívať funkciu mysql_query(). S touto funkciu sa nestretávate prvý krát ale budeme ju využívať ešte v mnohých skriptoch. Funkcia mysql_query() posiela príkaz do databázy, ktorý sa má vykonať. Skript na vytvorenie databázy by som odporúčal používať iba na localhoste, pretože inde nemusí fungovať. Asi sa často nestretnete so serverom kde bude tvorba databázy povolená. Preto používame klasicky nastavený localhost. Skript na vytvorenie databázy(mysql_cd.php).
<?php
include_once("mysql.php");
mysql_query("CREATE DATABASE tabulky") or die("Nepodarilo sa vytvoriť
databázu!");
?>
Po vykonaní skriptu sa zahrnie externý súbor na pripojenie do databázy (v súbore mysql.php nerátame mysql_select_db() to zapíšeme až po vytvorení databázy) a následne sa pošle príkaz na vytvorenie databázy. Ak by databázu nebolo možné vytvoriť tak by sa skript ukončil dôsledkom funkcie die(). Funkcia die() zastaví celý skript a vykoná len príkaz, ktorý má vo svojich zátvorkách zapísaný ako parametre. Príčina neúspechu vytvorenia môže pozostávať s mnohých dôvodov a to môže byť napr. toto - databáza, ktorú chcete vytvoriť už existuje alebo server nepovoľuje tvorbu databázy pomocou skriptov. Ak chcete databázu vymazať stačí použiť namiesto príkazu CREATE príkaz DROP. Tento príkaz funguje pochopiteľne iba vtedy ak je už databáza vytvorená. V MySQL je jedno či používate syntax tatko - "CREATE DATABASE" alebo takto - "create database". Nič sa tým neovplyvní ale prehľadnejšie je to ako používate túto syntax veľkými písmenami.
Ak už máme vytvorenú databázu, tak je teraz možné vytvoriť aj nejakú tabuľku. Na vytvorenie tabuľky použijeme taktiež príkaz mysql_query(). Skript na vytvorenie tabuľky môže vyzerať nasledovne(mysql_ct.php):
<?php
include_once("mysql.php");
mysql_query("CREATE TABLE tabulka(
id_tabulky MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT ,
nick VARCHAR( 25 ) NOT NULL ,
email VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( id_tabulky )
)")
or die("Nepodarilo sa vytvoriť tabuľku!");
?>
Vytvorenie tabuľky je po úspešnosti skriptu dokončené. Ako vidíte teraz sme v databáze "tabulky" vytvorili tabuľku "tabulka". Stĺpec "id_tabulky" predstavuje jediné číslo, ktoré môže vlastniť záznam, ktorý bude v tabuľke vložený. Identifikovať ho musíme na spodku celého príkazu pomocou PRIMARY KEY(id_tabulky ). Je to niečo ako vaše rodné číslo. Máte ho len vy a nikto iný na svete. Do stĺpca "nick" a "email" budeme pomocou php zadávať informácie. Budú sa ukladať v týchto dvoch stĺpcoch pomocou formulára, ktorý ale budete vidieť až v nasledujúcej časti :-).
V nasledujúcej časti si ukážeme ako vložiť informácie do databázy. Berte časti tohto seriálu nie ako manuál pre "SQL jazyk" ale iba ako manuál pre využívanie "SQL jazyka" pomocou PHP.


![Hlasová verzia [Pre internetový prehliadač Opera] Voice](modules/items/voice.png)
Komentáre
Už som písal, že je to napísané v PHP - využíva databázu MySQL a zdrojový kód nedostaneš lebo je to moje [wink].
Unikát čo nikde inde nenájdeš. Podobne ako ostatné systémy, ktoré si buď u niekoho zaplatíš aby ti to naprogramoval alebo si ho naprogramuješ sám. Je to bežná vec, tak neviem prečo by si mal dostať zdrojový kód. Nedám ti ho [tongue].