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):
- PHP část I. - Úvod do jazyka
- PHP část II. - Instalace
- PHP - Část V. (Operátory)
- PHP - Část VIII.
- PHP - Část IX. (Vlastní funkce)
- PHP - Část X. (Proměnné ve funkcích)
- PHP - Část XI.
- PHP - Část XII. (Regulární výrazy)
- PHP - Část XIII. (Regulární výrazy podruhé)
- PHP - Část XIV. (PHP a databáze)
- PHP - Část XV. (Instalace MySQL ve Windows)
- PHP - Část XVI. (Instalace MySQL na LINUXu)
- PHP - Část XVII. (MySQL - vytvoření nové databáze)
- PHP - Část XVIII. (Vkládání dat do databáze)
- PHP - Část XIX. (MySQL - získávání dat z databáze)
- PHP - Část XX. (SQL - získávání dat z databáze II.)
- PHP - Část XXI. (SQL - získávání dat z databázových tabulek III)
- PHP - Část XXII. (MySQL - modifikace a mazání dat v tabulce)
- PHP část XXIII. - MySQL - přístupová práva
- PHP část XXIV. - PostgreSQL
- PHP část XXV. - Cookies
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007