Cvičenie č.16 – Práca s MySQL databázami I.

Téma: Práca s MySQL databázami I.

Úloha: Vyskúšajte skripty pomocou ktorých pripojíte databázový server, vytvoríte novú databázu a pripojíte novú databázu. Skripty budú uložené v súboroch s názvom: pripoj_server.php, vytvor_db.php a pripoj_db.php.

Podmienky: Vytvorené súbory so skriptami umiestnite na svoj blog v položke PHP „Zadanie č.16 Práca s MySQL databázami I.“

Teória :

Medzi jednu z najväčších výhod databáz patrí to, že k dátam v nich uloženým je možné pristupovať z mnohých rôznych aplikácií. PHP ponúka funkcie, ktoré umožňujú spoluprácu s niekoľkými rôznymi databázovými servermi. Nechýbajú medzi nimi samozrejme ani MySQL.

PHP nám ponúka 3 ovládače pre ovládanie jednej databázy.

  • MySQL – najstarší procedurálny ovládač
  • MySQLi – novší ovládač použiteľný v procedúre objektovo
  • PDO – univerzálny objektový ovládač pre viac druhov databáz

Je dobré si vybrať jeden z ovládačov a v aplikácii dôsledne používať len ten jeden. Rozšírenie MySQL sa v súčasnej dobe neodporúča používať, pretože nie je efektívne. Pre nové projekty je vhodné využiť MySQLi alebo PDO.

Princíp práce s databázou v PHP skriptoch je veľmi jednoduchý. Skladá sa z niekoľkých krokov:

  1. Pripojenie k databáze – vyberieme si, ku ktorému serveru sa chceme pripojiť, a určíme meno a heslo, pod ktorým sa chceme prihlásiť.
  2. Zaslanie SQL príkazu – serveru pošleme ľubovoľný SQL príkaz.
  3. Spracovanie výsledku – server nám vráti výsledok predchádzajúceho SQL príkazu. Pokiaľ sme posielali príkaz SELECT , môžeme postupne získať a spracovať jednotlivé riadky výsledku – napríklad ich vytlačiť ako súčasť wapovej stránky.

Pripojenie k MySQL databáze je veľmi jednoduché. Slúžia na to funkcie MySQL_PConnect() :

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

Prvým parametrom funkcie je adresa počítača, na ktorom beží databáza. Väčšina web-hostingov má databázový server spustený na rovnakom počítači ako webový server, a preto stačí uviesť názov localhost . Ďalšie dva parametre sú meno a heslo, ktoré nám pre prístup k databáze pridelil jej správca.

Po úspešnom pripojení k databáze si musíme vybrať konkrétnu databázu, s ktorou budeme pracovať. Jej meno nám opäť oznámi správca servera:

MySQL_Select_DB("nazov_databazy");

Pre samotné zaslanie SQL príkazov slúži funkcia MySQL_Query() . Ako jej parameter sa odovzdáva SQL príkaz. Funkcia nám vráti hodnotu, ktorá nám umožňuje s výsledkom ďalej pracovať (pri príkaze SELECT ). Pre ostatné príkazy nám vracia logickú hodnotu, ktorá zodpovedá úspešnosti/neúspešnosti vykonania danej operácie.

Pre pripojenie MySQL servera:

<?php
$server_name = "localhost";
$user_name = "xxx";
$password = "********";

$connection = mysqli_connect($server_name, $user_name, $password);

if (!$connection) {
echo 'Spojenie so serverom MySQL sa nepodarilo nadviazať.';
}else{
echo 'Spojenie so serverom MySQL sa podarilo úspešne nadviazať.';
}
?>

Pre vytvorenie novej databázy:

<?php
$servername = "localhost";
$username = "xxx";
$password = "********";

// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Chyba pripojenia k MySQL serveru: " . mysqli_connect_error());
}

// Create database
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Databáza úspešne vytvorená";
} else {
echo "Chyba pri vytváraní databázy: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

 

Pre  pripojenie databázy:

<?php
$servername = "localhost";
$username = "xxx";
$password = "******";
$dbname = "epu";

// Create connection
$conn= mysqli_connect($servername,$username,$password,$dbname);
// Check connection
if (!$conn) {
die("Pripojenie zlyhalo: " . mysqli_connect_error());
}
echo "Úspešné pripojenie k databáze: " . $dbname;
?>