Warning
This page is located in archive.

Přístup k databázi, PDO

MySQL databáze - zřízení a přístup

Pro připojení se k databázi z PHP budete potřebovat následující údaje:

  • uživatelské jméno - Vaše uživatelské jméno,
  • heslo - “wa1”, lze zmenit později
  • hostitel - v našem případě “mysql:dbname=vase_uzivatelske_jmeno;host=localhost”.

Pro práci s obsahem databáze můžete používat aplikaci phpMyAdmin

Nástěnka

Implementujte nástěnku, které bude jako úložiště zpráv sloužit MySQL databáze. Ve své databázi pro účely úlohy vytvořte tabulku y36tw1_record pomocí následujícího skriptu.

DROP TABLE IF EXISTS `y36tw1_record`;
 
CREATE  TABLE IF NOT EXISTS `y36tw1_record` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `title` VARCHAR(100) NOT NULL ,
  `author` VARCHAR(100) NULL ,
  `date` DATETIME NOT NULL ,
  `text` TEXT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_czech_ci;

Každý příspěvek na nástěnku má

  • titulek (povinný),
  • jméno autora (nepovinné),
  • datum vzniku (povinné),
  • text (nepovinný).

Implementujte pomocí PDO následující funkce, nezapomeňte ošetřit možné chyby.

  1. spojení se s databázovým serverem, volba databáze
  2. zobrazení všech záznamů,

    SELECT * FROM y36tw1_record

  3. zobrazení záznamů od daného autora,

    SELECT * FROM y36tw1_record WHERE author = 'autor'

  4. přidání příspěvku pomocí formuláře,

    INSERT INTO y36tw1_record(id,title,author,DATE,text) VALUES(NULL, 'titulek', 'autor', casova_znamka, 'text')

  5. odpojení se od databázového serveru

Vytvořené funkce začleňte do připravené šablony nastenka.php. Ošetřete situace, kde by mohlo docházet k útoku SQL injection.

Prepared statements

Zvažte, jaké hlavní výhody přináší použití prepared statements. Upravte kód tak, aby prepared statements využíval.

courses/a7b39wa1/tutorials/08/start.txt · Last modified: 2015/09/23 11:27 by xklima