Autor | Zpráva | ||
---|---|---|---|
intimidant Profil * |
#1 · Zasláno: 26. 2. 2007, 01:16:22
Hoja,
do db odesílám z formuláře hodnoty a pokud uživatel něco nevyplní, potřeboval bych, aby se uložilo NULL. Problém je, že se uloží '0'. nemám tušení, kde by mohla být chyba. když v php nepošlu hodnotu vůbec (tzn. vynechám ji), tak se uloží NULL. pokud pošlu prázdnou (v případě, že uživatel nevyplní formulář), tak mi tam spadne ta blbá '0' údaje o tabulce a odesílaný příkaz CREATE TABLE `log` ( `otazka1` tinyint(4) default NULL, `otazka2` tinyint(4) default NULL, `otazka3` tinyint(4) default NULL, ) mysql_query("INSERT INTO log (otazka1, otazka2, otazka3) VALUES ( '$odpoved1', '$odpoved2', '$odpoved3')"); nevíte, kde mám chybu? thx |
||
Yrrah Profil |
#2 · Zasláno: 26. 2. 2007, 08:52:58
Tak se podívej na ten SQL dotaz. Prázdný řetězec převedený na INT je přece 0.
Proč tam máš ty apostrofy okolo $odpoved1 apod.? |
||
Kajman_ Profil * |
#3 · Zasláno: 26. 2. 2007, 09:21:08
$odpoved1=($odpoved1==''?'NULL':"'$odpoved1'");
... ... VALUES ($odpoved1, ... |
||
intimidant Profil * |
#4 · Zasláno: 26. 2. 2007, 11:52:10
Yrrah: jinak to hodí chybu
Kajman_: díky moc, chodí to krásně |
||
Leo Profil |
#5 · Zasláno: 26. 2. 2007, 11:54:08
"pokud pošlu prázdnou (v případě, že uživatel nevyplní formulář), tak mi tam spadne ta blbá '0'"
Coz bude tim, ze prazdny retezec se uklada do ciselneho sloupce, proto ta 0. Leo |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0