_soubory/null.gif) |
|
_soubory/null.gif) |
_soubory/null.gif) |
_soubory/null.gif) |
| PHP - Část XVIII. (Vkládání dat do databáze)
|
|
Dnes budeme pokračovat v příkladě z minulého článku. Jen pro
zopakování - máme vytvořenu databázi se jménem php a v ní
jednu tabulku se jménem zamestanci, která obsahuje položky
rodné číslo (primární klíč), jméno, adresu a plat (viz minulý článek).
Tabulka zatím neobsahuje žádná data, a proto se naučíme, jak data do
tabulky vložit. Slouží k tomu další z příkazů jazyka SQL. Příkaz se
jmenuje INSERT a má následující syntaxi:
INSERT INTO tabulka VALUES
(
hodnota 1.
položky,
hodnota 2.
položky,
hodnota x. položky);
Pokud tedy budeme chtít v našem příkladě přidat do tabulky
záznam o zaměstnanci Janu Novákovi, jehož rodné číslo bude např.
201129/4986, bude bydlet v Kocourkově č.p. 111 a jeho plat bude 25000,00
Kč, uložíme si do proměnné $sql SQL příkaz, který později
provedeme pomocí již známé funkce MySQL_DB_Query();:
$sql = "INSERT INTO zamestanci VALUES
(
\"201129/4986\",
\"Jan
Novák\",
\"Kocourkov
111\",
25000);"; Všechny hodnoty položek nečíselného datového
typu musíme při vkládání do tabulky vždy uzavřít do uvozovek nebo
apostrofů (zde jsme museli uvést vždy \" - důvod je jasný - jinak by PHP
oznámilo syntaktickou chybu). Při vkládání nového záznamu do tabulky
musíme také vždy uvést hodnoty všech položek dané tabulky. Může se nám
však stát, že neznáme hodnotu některé z položek. V takovém případě uvedeme
v příkazu INSERT na místo hodnoty dané položky hodnotu
NULL (bez uvozovek nebo apostrofů). Tuto hodnotu však nesmíme
uvést místo hodnoty, která je při vytváření tabulky označena jako
NOT NULL (v našem případě je to primární klíč rodné číslo).
Nyní provedeme tento SQL příkaz pomocí PHP funkce:
MySQL_DB_Query("php", $sql, $spojeni);
Zde předpokládám, že již máte v proměnné $spojeni uloženo
číslo již exitujícího spojení s databázovým serverem (viz minulý článek).
Po provedení tohoto příkazu se přidá jeden řádek do tabulky
zamestnanci s určenými hodnotami jednotlivých položek. To je
celý systém přidávání záznamů do tabulek - vše se komplikuje až při
kombinování jednotlivých SQL příkazů, k čemuž se dostaneme někdy v
budoucnu.
Při vytváření SQL příkazů mnohdy děláme banální chyby typu - zapomeneme
na nějakou čárku, nebo některou textovou hodnotu neuzavřeme do uvozovek
atd. Pokud SQL příkazy provádíme pomocí PHP, tedy je nezapisujeme přímo do
řádkového klienta MySQL, těžko se o těchto chybách dozvíme, protože je
nekontroluje PHP, ale MySQL. Proto v PHP existuje funkce pro výpis
chybových hlášení MySQL, která se při vytváření skriptů s databázovou
konektivitou mnohdy hodí. Tato funkce se jmenuje
MySQL_Error(); a nemá žádné parametry - její použití je tedy
velmi jednoduché:
$chyba = MySQL_Error(); echo
$chyba;
Pokud na straně MySQL dojde k nějaké chybě, uloží se tato
chyba do $chyba a PHP ji už snadno vypíše.
V několika příštích článcích se budeme věnovat výpisu dat z
databázových tabulek.
| Hodnocení článku |
1 | 2 | 3 | 4 | 5 Aktuální známka: 1.99
(Počet známek: 461)
| |
|
_soubory/null.gif) |
_soubory/null.gif) |
_soubory/null.gif) |