PHP - Část XVIII. (Vkládání dat do databáze) - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



PHP

PHP - Část XVIII. (Vkládání dat do databáze)

30. října 2000, 00.00 | pokračování článků o práci s databází v PHP. Dnes vkládání dat a ošetření případných chyb.

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.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: