PHP

Web o webu

Databáze

Připojení k databázi

Připojení k databázi vytvoříme v samostatném php souboru, který pak includujeme do všech stránek. Změnu přihlašovacích údajů (jiné údaje pro loalhost a jiné pro webový server) tak provádíme v jediném souboru.

Pro práci s databází lze používat:

  • procedurální připojení a funkce - mysqli_connect, mysqli_query, mysqli_fetch_array apod.
  • objektové připojení a metody:

Obsah souboru server.php:

<?php
$server="localhost";
$uzivatel="root";
$heslo="";
$databaze="vyrobky";
$spojeni = new mysqli($server,$uzivatel,$heslo,$databaze); //vytvoření spojení
$spojeni->set_charset("utf8");  //nastavení znakové sady UTF-8
?>

Struktura ukázkové databáze vyrobky

Relace mezi tabulkami vyrobky - kategorie a vyrobky - vyrobci:

Relace mezi tabulkami vyrobky - kategorie a vyrobky - vyrobci Tabulka kategorie Tabulka vyrobci Tabulka vyrobky

Chceme-li vypsat údaje z propojených tabulek, použijeme dotaz SELECT s JOIN:

SELECT vyrobky.id, kategorie.kategorie, vyrobci.nazev, vyrobky.nazev, cena, stav, skladem, popis FROM vyrobky
JOIN kategorie ON vyrobky.id_kategorie=kategorie.id JOIN vyrobci ON vyrobky.id_vyrobce=vyrobci.id

Shodují-li se názvy polí ve dvou propojených tabulkách (např. id nebo nazev), je nutné specifikovat, ze které tabulky pole je (vyrobky.nazev nebo vyrobci.nazev). Pokud jsou názvy polí a tabulek v databázi vytvořeny bez diakritiky a bez mezer, není nutné je v dotazech uzavírat do zpětných apostrofů, pokud však dotazy generujete v phpMyAdminu, můžete je ponechat, jako např. `vyrobky`.`nazev`.

Propojené tabulky vyrobky-kategorie-vyrobci