Search
Pro připojení se k databázi z PHP budete potřebovat následující údaje:
“mysql:dbname=vase_uzivatelske_jmeno;host=localhost”
Pro práci s obsahem databáze můžete používat aplikaci Adminer
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.
y36tw1_record
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á
Implementujte pomocí PDO následující funkce, nezapomeňte ošetřit možné chyby.
zobrazení všech záznamů,
SELECT * FROM y36tw1_record
zobrazení záznamů od daného autora,
SELECT * FROM y36tw1_record WHERE author = 'autor'
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')
Vytvořené funkce začleňte do připravené šablony nastenka.php.cv.zip Ošetřete situace, kde by mohlo docházet k útoku SQL injection.
nastenka.php
Zvažte, jaké hlavní výhody přináší použití prepared statements. Upravte kód tak, aby prepared statements využíval.
Upravte příklad ze cvičení tak, aby vytvoření modelu bylo ošetřené proti SQL injection.
PDO rešení - stránka s komentáři
Řešení 2015 - řešení přes mysqli