Autor | Zpráva | ||
---|---|---|---|
kůň Profil * |
#1 · Zasláno: 26. 5. 2010, 17:11:43
Ahoj,
prosím, poraďte někdo, už jsem zkusil všechno... Mám sloupec typu INTEGER(5), kde ukládám věk osoby. Potřeboval bych zde umět uložit také prázdný řetězec, ale vždy když uložím prázdný řetězec, přepíše se mi v databázi na nulu. Nevíte někdo, jak by to mohlo jít? Mockrát děkuju |
||
Kajman_ Profil * |
#2 · Zasláno: 26. 5. 2010, 17:17:31
Vkládejte null místo prázdného řetězce. Sloupec ale musí mít povolené null hodnoty.
|
||
kůň Profil * |
#3 · Zasláno: 26. 5. 2010, 17:25:28
Kajman:
Děkuju za reakci. mám ve skriptu: $jmeno_vek = NULL; tuto hodnotru následně uložím do databáze. Když databázi otevřu, je tam nula ("0"). Sloupec je zadán jako: `jmeno_vek` int(5) default NULL, |
||
kůň Profil * |
#4 · Zasláno: 26. 5. 2010, 18:17:13
Dal jsem sloupec s věkem jako varchar(5). Sice mi to přijde trochu jako "prasácké" řešení, ale jinak mi to nešlo..
|
||
Kajman_ Profil * |
#5 · Zasláno: 26. 5. 2010, 18:46:27
Ukažte přesný insert nebo udpate, který to dělá... tipnul bych, že vkládáte řetězec 'NULL' místo speciální hodnoty NULL.
|
||
kůň Profil * |
#6 · Zasláno: 26. 5. 2010, 19:42:56
Kajman:
if ($p_jmeno <> '') { $p_jmeno_vek = NULL; } //Uložení dat do databáze $insert = array( 'spolecnost' => $p_spolecnost, 'jmeno' => $p_jmeno, 'jmeno_vek' => $p_jmeno_vek, 'jmeno_ubytovani' => $p_jmeno_ubytovani, atd ....... ); $db->insert(TABLE_PARTY_UCASTNICI, $insert); A pak mám funkci pro to vkládání: function insert($table, $arrayValues = array()) { $values=''; foreach ($arrayValues as $key => $value) { if ($value==='null') $values.= "null, "; elseif ($value===0) $values.= "0, "; elseif ($value=='now') $values.= "now(), "; else { $values.="'$value', "; } } $values = substr($values, 0, -2); $this->query("INSERT INTO $table (" . implode(", ", array_keys($arrayValues)) . ") VALUES (".$values.")"); } Jedině že by to kazila ta funkce, to jsem úplně netestoval, ale přijde mi to hodně nepravděpodobné.. |
||
Kajman_ Profil * |
#7 · Zasláno: 26. 5. 2010, 20:22:44
V té funkci ale očekávate v php řetězec 'null'.
$p_jmeno_vek = 'null'; |
||
kůň Profil * |
#8 · Zasláno: 26. 5. 2010, 21:32:00
Kajman:
Aha, máte pravdu.. Ta funkce není moje, psal ji jiný programátor, ani mě nenapadlo ji tak zkoumat.. Tak moc díky. |
||
Časová prodleva: 14 let
|
0