Zápis do DB - žádná chyba a přece chyba
9 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Vkládám tento formulář do db a kod pod nim a v DB se mi vytvoří pouze tabulka a nejsou tam údaje :( //stranka 1 <form method="post" name="formular" action="registrace2.php" onsubmit="return kontrolaDat(this)"> <table border="0"> <tr><td>Jméno panovníka:</td> <td><input type="text" name="jmeno" size="15" maxlength="15" tabindex="1"></td></tr> <tr><td>Login:</td> <td><input type="text" name="login" size="15" maxlength="15" tabindex="1"></td></tr> <tr><td>Heslo:</td> <td><input type="password" name="heslo" size="15" maxlength="15" tabindex="1"</td></tr> <tr><td>Heslo znovu:</td> <td><input type="password" name="heslo2" size="15" maxlength="15" tabindex="1"></td></tr> <tr><td>Název země:</td> <td><input type="text" name="zeme" size="15" maxlength="15" tabindex="1"></td></tr> <tr><td>E-mail:</td> <td><input type="text" name="mail" size="15" tabindex="1"></td></tr> </table> <input class="tlacitko" type="submit" value="Zaregistrovat" tabindex="2"> </form> //stranka 2 <? include ("pripojeni.php"); $clanky = MySQL_Query("CREATE TABLE if not exists uzivatele ( id int(5) NOT NULL auto_increment, prava varchar(50), jmeno varchar(50), login varchar(50), heslo varchar(50), zeme varchar(50), mail varchar(50), datum varchar(50), PRIMARY KEY (id))"); $datum = date('j.n.Y'); $prava = uzivatel; $clanky = mysql_query("insert into uzivatele values('' , '$prava' , '$jmeno' , '$login' , '$heslo' , '$zeme' , '$mail , '$datum')"); ?>
-
jakto, že tam není chyba? vkládání '' (string) do int, který navíc nesmí být null, se ti nejeví jako chybné?
-
Já nikde string do int nevkládám... jedinej int je tady id int(5) NOT NULL auto_increment, ale tam se ID dává automatcky a string to v žádným případě neni... já to fakt nevidim, kde do int vkládam string ;(
-
vkládáš string tim že tam máš ''...Hod tam místo toho bud nic nebo nulu...
-
Aha díky, ještě mam problém s updatem, prostě se mi to nevloží do db... $clanky = MySQL_Query("CREATE TABLE if not exists data ( id int(5), jmeno varchar(50), banka int(5), rozloha int(5), jidlo int(5), //hromada dalsich sloupcu tovarny_jidlo int(5), tovarny_zbrane int(5), tovarny_technika int(5), tovarny_jidlo_pokrok int(5), tovarny_zbrane_pokrok int(5), tovarny_technika_pokrok int(5), PRIMARY KEY (id))"); $id = 1; $datum = date('j.n.Y'); $jmen = $jmeno; $upg="UPDATE data SET jmeno='$jmen' , banka='$banka' , rozloha='$rozloha' , mestske_domy='$mestske_domy' , hromada dalšího... drevo='$drevo' , zelezo='$zelezo' , beton='$beton' , kameny='$kameny' , jidlo='$jidlo' , tovarny_jidlo='$tovarny_jidlo' , tovarny_zbrane='$tovarny_zbrane' , tovarny_technika='$tovarny_technika' tovarny_jidlo_pokrok='$tovarny_jidlo_pokrok' , tovarny_zbrane_pokrok='$tovarny_zbrane_pokrok' , tovarny_technika_pokrok='$tovarny_technika_pokrok' WHERE id='1'"; mysql_query($upg,$pripojeni); ?>
-
jen by me tak mirne zajimalo proc se pri kazdem pokusu snazis vytvorit tabulku, je to mirne zbytecne. Jinak misto: $clanky = mysql_query("insert into uzivatele values('' , '$prava' , '$jmeno' , '$login' , '$heslo' , '$zeme' , '$mail , '$datum')"); staci pouze: mysql_query("insert into uzivatele values('' , '$prava' , '$jmeno' , '$login' , '$heslo' , '$zeme' , '$mail , '$datum')"); a pak tam este nemas zadne ukonceni spojeni.
-
asi je vhodne pouzit insert into tabulka (sl2, sl3, ...) values ('$prava', ...); kde sl2, sl3 jsou vyjmenovane soupecky, ktere je treba vlozit a kdyz vynechas ten id, tak se vlozi sam ten spravny.
-
pokud jsi to sem přímo kopíroval, tak např. za tovarny_technika='$tovarny_technika' ti chybí čárka, a výše u '$mail zase apostrof... můžou být podobné chybky i tam co jsi napsal "hromada dalšího"... Jinak nechci se hádat s odborníky ale imho vkládat '' do sloupce s datovým typem INT nevadí... Když je auto increment, a vložím tam '', tak se automaticky vloží navýšené číslo. Nevím teda jestli je to správně, ale imho to chybu nehodí.
-
dis, pravdu dis, '' to sezere... takze milion jinych chybicek... hehe, :-D a teď česky dis, pravdu díš, '' to sežere... takže milion jinych chybiček...