Autor Zpráva
Cup
Profil
Prosím Vás. Mám problém a nechápu jeho příčinu.

mám dotaz

INSERT INTO `kalendar_akci` ( `datumKalendar` , `typKalendar` ,`zaznamKalendar` ,`idUser`, `idTrida` , `verejnyKalendar`) VALUES ( '2010-02-08 00:00:00' , '1', 'Záznam', '1', '1', '0')

když to dám v php pomocí mysql_query(...) tak mi to hodnotu datumu uloží ve formátu 0000-00-00 00:00:00 ... když to uložím pomocí SQL konzole v phpMyAdminovi tak to jde ...

už se s tím patám asi 3 h a nevím jak dál
tiso
Profil
Cup: a ostatné údaje ti vloží v poriadku?
Cup
Profil
ano, teda myslím, error ani erno nic nehlásí, odstatní udaje se uloží, ale datum chybně, prvně jsem si myslel že tam bude něco navíc nebo špatnej formát, ale když to v konzoli jde a jinak ne.

A ještě bych mohl říct že si myslím (že my to šlo, všechno bez problému, ale teď nejde) Ale to bych raděj neměl říkat protože si sám přiapdám jako blázen, určitě to bude nějaká blbost, kterou nevidím.

Nemohlo by to být znakovou sadou ve které ukládám tabulku ? tu jsem měnil myslím o ničem jiném nevím
Cup
Profil
tak ne ne, to je blbost, měnil jsem to u jiné tabulky
tiso
Profil
Cup: myslíš? To mi nepomôže. Vypíš si obsah tej tabuľky či ti to do nej naozaj vkladá.
Cup
Profil
obsah
CREATE TABLE IF NOT EXISTS `kalendar_akci` (
`idKalendar` int(16) NOT NULL AUTO_INCREMENT,
`datumKalendar` datetime NOT NULL,
`typKalendar` set('1','2','3','4') COLLATE utf8_czech_ci NOT NULL COMMENT '1 - Písemka, 2 - Úkol, 3 - Událost, 4 - kalba',
`zaznamKalendar` varchar(255) COLLATE utf8_czech_ci NOT NULL,
`idUser` int(11) NOT NULL,
`idTrida` int(11) NOT NULL,
`verejnyKalendar` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`idKalendar`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=11 ;

--
-- Vypisuji data pro tabulku `kalendar_akci`
--

INSERT INTO `kalendar_akci` (`idKalendar`, `datumKalendar`, `typKalendar`, `zaznamKalendar`, `idUser`, `idTrida`, `verejnyKalendar`) VALUES
(10, '0000-00-00 00:00:00', '1', 'Záznam', 1, 1, 0),
(9, '2010-02-08 00:00:00', '1', 'Záznam', 1, 1, 0),
(8, '0000-00-00 00:00:00', '1', 'asdf', 1, 1, 0);

ten záznam id 9 jsem vkládal přes konzoli ... dotaz stejný jako id 10 ten byl přes PHP ....

 $datum = $_POST['rok_kal']."-".$_POST['mesic_kal']."-".$_POST['den_kal']." ".$_POST['hodina_kal'].":".$_POST['minuta_kal'].":00";

$sql = "INSERT INTO `kalendar_akci` ( `datumKalendar` , `typKalendar` ,`zaznamKalendar` ,`idUser`, `idTrida` , `verejnyKalendar`) "
          . " VALUES ( '".$datum."' , '".$_POST['typKalendar']."', '".strToDB($_POST['zaznamKalendar'])."', '".$_SESSION["idUser"]."', '".$_SESSION["idTrida"]."', '".$_POST['verejnyKalendar']."')";
      
      $dotaz = mysql_query ($sql);
  
      if(!$dotaz){showerror();}else {header("Location: ".$prefix."?status=show&msg=1");exit;}// kdyz chyba hodime kec

          echo $sql; exit;


schválně jsem si vypsal ten dotaz jak je když se dotazuje na db ... a vypadá přesně takto ...

INSERT INTO `kalendar_akci` ( `datumKalendar` , `typKalendar` ,`zaznamKalendar` ,`idUser`, `idTrida` , `verejnyKalendar`) VALUES ( '2010-02-08 00:00:00' , '1', 'Nejakej záznam', '1', '1', '0')


nevím no
tiso
Profil
Cup: žiaden problém nevidím, teda okrem chýbajúcej kontroly vstupov.
Cup
Profil
Prosím tomuto nerozumím teda okrem chýbajúcej kontroly vstupov.
Cup
Profil
No a ještě zajímavost, když změním formát sloupce na Varchar ... tak se mi hodnota normálně uloží takže problém bude ... netuším kde, vygooglil jsem jeste jeden topic s uplně stejným problémem, ale jeho řešení tam nebylo, nevím jak to mám teď udělat ... potřebuju to ukládat ve formátu datetime pač pak vybírám data z databáze, podle roků nebo měsíců nebo dnů .... Asi nikdo nevíte jak na to co?

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: