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:
- 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ť.
- Zaslanie SQL príkazu – serveru pošleme ľubovoľný SQL príkaz.
- 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;
?>
