Autor Zpráva
intimidant
Profil *
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
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 *
$odpoved1=($odpoved1==''?'NULL':"'$odpoved1'");
...
... VALUES ($odpoved1, ...
intimidant
Profil *
Yrrah: jinak to hodí chybu

Kajman_: díky moc, chodí to krásně
Leo
Profil
"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
Toto téma je uzamčeno. Odpověď nelze zaslat.

0