Vkládání záznamu

Dobrý den,
V MySQL dělám po prvé, zakoupil jsem si přručku a v ní je anpsaný tento postupv kládání záznamů:

$dotaz = "INSER INTO uzivatele (uziv_jmeno, jmeno, prijmeni, ...)
VALUES ('$u', '$jmeno', '$prijmeni' ....");
$vysledek = mysql_query ($dotaz);

Ovšem ten nic nevloží, ani nenapíše chybu!
Tabulku mám vytvořenou, přes webové rozhraní pomocí skriptu napsaného v knize řádek vložím, přes PHP ovšem ne :( Kde mám hledat chybu? Nějaká práva? Když jsem skript předělal tak, aby promněné které se mají vložit do databáze, mísot toho vypsal, tak ja vypsal správně. Nevmí si s tím rady děkuji za každou radu :)
Pokud neco nefunguje, tak je dobre vypsat chyby. MySQL pouziva vlastni metodu vypisovani chyb. Pro jeho zobrazeni se pouziva funkce mysql_error(); Tato funkce se pridava za kazdou mysql funkci, u kterych lze ocekavat chybu.

V tvem pripade za mysql_query();

..
$vysledek = mysql_query ($dotaz);
echo mysql_error();
OK díky odskouším to, o té funkci jsem četl, ale myslel jsem že se používá jen při připojování k DB
Hmm tak problém to žádný nevypsalo

$dotaz = "INSERT INTO uzivatele (uziv_jmeno, jmeno, prijmeni, email, heslo, datum_registrace) VALUES ('$u', '$jm', '$pr', '$u', PASSWORD('$h'), NOW()) ". mysql_error();
$vysledek = mysql_query ($dotaz);
$vysledek = mysql_query ($dotaz);
echo mysql_error();

-:-:-

$dotaz = "INSERT INTO uzivatele (uziv_jmeno, jmeno, prijmeni, email, heslo, datum_registrace) VALUES ('$u', '$jm', '$pr', '$u', PASSWORD('$h'), NOW()) ". mysql_error();
$vysledek = mysql_query ($dotaz);

-:-:-

kde je rozdil?
Bagy (hamburgr.wz.cz)
zkusim ti to vysvetlit trochu jinak.

Autor: Tomík (tom.czweb.org)
Datum: 27. 07. 2007 22:36
$vysledek = mysql_query ($dotaz);
echo mysql_error();

A ty mas:
$dotaz = "...". mysql_error();
$vysledek = mysql_query ($dotaz);

Vidis rozdil?

Jeste je mozne to napsat takto:
$dotaz = "...";
$vysledek = mysql_query ($dotaz) or die("text".mysql_error());
... coz ti uplne zastavi dalsi scripty. Velice uzitecne, pokud vkladas jeste neco do databaze, nevlozis tam spatna data. Pokud to samozrejme nemas pohlidane, coz se vetsinou zapomene, ze? :)
dobry uz jsem to vyresil..zadny datbaze nepouziju, ale i repsto dekuju vsem :)
Bagy (hamburgr.wz.cz)
s databazi je min prace, kdyz uz mas funkcni reseni a funguje to rychleji, protoze to jde vsechno pres pamet (coz je asi 50-100x rychlejsi nez prace s diskem). Ale, jak chces.
>> protoze to jde vsechno pres pamet (coz je asi 50-100x rychlejsi nez prace s diskem)
Coze? Kdes slysel, ze databaze pracuje jen s pameti? Databaze a soubory pracuji na stejnem principu - k datum pristupuji pres disk. Rozdilne je pouze manipulace s daty. Databaze ma vlastni vyladeny engine (databazovy zdroj), ktery zarucuje rychlou manipulaci s daty. Souborove funkce jsou vseobecne a tudiz maji pomalejsi reakce.
A na rychlosti dost zalezi vytizeni serveru. Ono se klidne muze stat, ze soubor se zpracuje driv nez databaze.
Tomík (tom.czweb.org)
Protoze se to tak muze delat a dela. Databaze se proste nahodi na Ramdisk a potom si pracuje se svym velkym souborem na ramdisku. Se soubory se to dela malokdy, protoze ty zabiraji mnohem vic mista.
Nebudem se hadat, pac presne nevim jak DB engine pracuje. Uvazuji pouze logicky a z toho co znam.
Myslis, ze data nezabiraji vic mista? Pro jednoho to neni problem, ale mas tady tisice dalsich uzivatelu. A jestli se to cele nacita do ramdisku, tak celkova kapacita prekroci par giga pameti (priblizna kapacita jedne databaze 1MB + dejme tomu 1000 aktivnich uzivatelu). Vim, ze hardware serveru nevyzaduje tak extremni RAM pamet. Tak jak muze databaze zaplnit skoro celou RAM pamet nebo ji prekrocit? Musi proto pristupovat na disk. Proste si myslim, ze databaze pracuje tak, ze na pozadani vybere soubor z disku (databazi) a se souborem (s daty) pak pracuje v pameti.
Tomík (tom.czweb.org)
Databaze Plone CMS treba pracuje tak, ze ma 1 velky databazovy soubor a s nim pracuje. Neco malo si ulozi do pameti.
Na server se kupuje obvykle nekolika gigovy ramdisk, treba 1TB a vice (jako, je to dost draha zalezitost, tak 200.000 urcite) a do nej se cely takovy soubor v klidu vejde. Obvykle. Takze aktivni/pasivni databaze, vse bezi z ramdisku.
Jinymi slovy, pracuje se s tim jako se souborem, jako treba u toho Plone. Cili spravne to rikas, jen ten soubor je na ramdisku celej. Cela databaze. Proto je to rychlejsi.
Souboru na FTP mas vsak hodne a skoda tim zaplacavat ramdisk, kdyz se s nimi nebude pracovat tak casto jako s databazi. U wz.cz hadejme:
- 100.000 uziv
- 30MB prostoru ... 3000GB
- 1MB databaze ... 100GB / 1TB v naproste pohode

Konkretne u MySQL, kdyz se ti ramdisk poskodi, tak pouzijes posledni diskovou verzi. (pasivni databaze)
U Oracle se pracuje jinym zpusobem, tam se zasilaji ukoly (tusim to nazyvaji transakce nebo session) s jedinecnym id a navic se zalohuji obvykle na vice serveru naraz. Kdyz ti nejaky zkape, DB pozada PC uzivatele o jeho posledni ukoly. Tato sada se mu smaze az kdyz mu to server dovoli smazat a to az kdyz to ulozi na zalohy. (aktivni)