Autor Zpráva
ja.cz
Profil *
Zdravím, po pár dnech jsem tu zas...

Pokouším se do databáze odeslat hodnotu null, ale ať dělám co dělám, vůbec se mi to nedaří.
sloupec v databázi je nastaven takto:
...
`sloupec` VARCHAR( 255 ) NULL,
...


A zkoušel jsem do něj posílat proměnné s různým přiřazením NULL:
$promenna = NULL; // v DB je uložen prázdný řetězec
$promenna = null; // v DB je uložen prázdný řetězec
$promenna = "NULL"; // v DB je uložen řetězec "NULL"


Abych dostal do DB hodnotu NULL jako takovou, tak musím sql dotaz skládat pomocí PHP a prázdné hodnoty do DB neodesílat. Je to sice také řešení, ale myslím si, že to nějak musí jít, bohužel nevím jak a nemohu na to přijít. Poradíte mi prosím?
Díky
Joker
Profil
ja.cz:
Nejspíš je špatně vkládací dotaz, tipuji, že jsou kolem hodnoty proměnné apostrofy.
ja.cz
Profil *
To jsem také zkoušel, možná jsem ten dotaz napsal špatně. Každopadně, pokud tam nemam uvozovky, tak dotaz neproběhne:

Když tedy použiji proměnnou:
$promenna = NULL;


Dále pak mám SQL dotaz:
INSERT INTO `table` (`sloupec1`,  `sloupec2`,`sloupec3`)
                 VALUES ('".$promenna."', ".$promenna.", '".$promenna."')


Echem vypsaný dotaz:
INSERT INTO `table` (`sloupec1`, `sloupec2`,`sloupec3`) VALUES ('', , '')

A odpověď databáze:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '')' at line 2 
Keeehi
Profil

$promenna = "NULL";

INSERT INTO `table` (`sloupec1`,  `sloupec2`,`sloupec3`) VALUES ('".$promenna."', ".$promenna.", '".$promenna."')

INSERT INTO `table` (`sloupec1`, `sloupec2`,`sloupec3`) VALUES ('NULL', NULL, 'NULL')

// ta prostřední je tvoje hledaná null, 1. a 3. jsou jen řetězce "NULL"
ja.cz
Profil *
Keeehi:
jop! Paráda, takto to opravdu funguje. Díky moc!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0