Vkladanie záznamov do databázy pomocou SQL jazyka je štart do skutočnej dynamiky stránok. Ak chcete vedieť ako na to prečítajte si tento diel.
PHP pre začiatočníkov - Zápis do databázy, 12.diel
PHP pre začiatočníkov - Zápis do databázy, 12.diel
Dnes sa naučíme vložiť do databázy záznam. Článok bude súvisieť s minulým dielom a tak verím, že pripojenie do databázy pre vás nebude žiadny problém. Ak už máme vytvorený súbor mysql.php a je v ňom nastavené správne pripojenie do databázy, tak môžeme začať zo zápisom do DB. Na odoslanie príkazu do databázy MySQL budeme použijeme príkaz mysql_query(). Použili sme ho minule a budeme ho používať ešte veľakrát, pretože pomocou neho robíme úkony priamo v databáze. Na vkladanie záznamu slúži príkaz INSERT. Tabuľka vyzerá takto:
CREATE TABLE tabulka( id_tabulky MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, nick VARCHAR(25) NOT NULL, email VARCHAR(50) NOT NULL, PRIMARY KEY (id_tabulky) );
Ak už je tabuľka vytvorená vloženie záznamu môžeme započať týmto skriptom.
<?php
require_once("mysql.php");
$sql = mysql_query("INSERT INTO tabulka(nick,email) VALUES('login','login@login.com')");
if($sql){
echo "Záznam bol úspešne vložený do databázy!";
} else {
echo "Záznam sa nepodarilo vložiť do databázy!";
}
mysql_close();
?>
Po spustení skriptu sa záznam vloží do databázy. Ak sa čokoľvek nepodarí záznam do databázy nebude vložený. Funkcia mysql_close() zatvorí spojenie s databázou. Do databázy sme vkladali len nick a e-mail. Id_tabulky sa doplní automaticky. Príkaz INSERT môžeme vkladať aj v tvare:
INSERT INTO tabulka(email,nick) VALUES('login@login.com','login');
…alebo je tu aj možnosť vložiť len záznam, ktorý chceme. Takže e-mail alebo nick môžeme vylúčiť pretože sú zbytočné, ak do nich nebudeme nič zapisovať. Jeden záznam je ale minimum čo musíme vložiť. Ak by sme skript pustili znova vložil by do databázy. duplicitný obsah ale id_tabulky bude vždy iné. To nikdy nebude duplicitné, naopak je jedinečné. Takisto môžete záznam vkladať aj pomocou odoslaných hodnôt z formuláru. Môžete použiť superglobálne polia $_GET alebo $_POST. V podstate je to jedno, ale bezpečnejší prenos je vždy cez $_POST. Stačí zapísať údaje nasledovne:
<form action="uloz.php" method="post"> <fieldset><legend>Ulož záznam</legend> <input name="login" type="text" /><br /> <input name="email" type="text" /><br /> <input type="submit" value="Ulož záznam" /><br /> </fieldset></form>
A skript na uloženie do databázy(uloz.php).
<?php
require_once("mysql.php");
// toto je len ukážka; v ďalších dieloch bude vysvetlené niečo o bezpečnosti, resp. o ošetrovaní vstupných dát
$login = $_POST['login'];
$email = $_POST['email'];
$sql = mysql_query("INSERT INTO tabulka(nick,email) VALUES('$login','$email')");
if($sql){
echo "Záznam bol úspešne vložený do databázy!";
} else {
echo "Záznam sa nepodarilo bložiť do databázy!";
}
mysql_close();
?>
A záznam je uložený :-)! Všetko pomocou formuláru. Je to jednoduché. Ak to ešte stále nechápete skúste navštíviť staršie diely, kde sa dozviete ako používať superglobálne polia. Nebudúce si ukážeme ako vypísať záznam z databázy.


![Hlasová verzia [Pre internetový prehliadač Opera] Voice](modules/items/voice.png)
Komentáre