Autor Zpráva
bzuK
Profil
Ahoj, pouštím Apache 2.2.3, Mysql 5.0.27 a PHP 5.2 (EasyPHP 2.0) na Windows 98

Mám tabulku

CREATE TABLE `rezervace` (
`oid_clovek` int(11) NOT NULL default '0',
`oid_material` int(11) NOT NULL default '0',
`od` date NOT NULL default '2006-01-01',
`do` date NOT NULL default '2006-01-02',
PRIMARY KEY (`oid_clovek`,`oid_material`,`od`,`do`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Přes mysql_query() se pokouším o dotazy typu:

INSERT INTO rezervace (oid_clovek, oid_material, od, do)
VALUES (180, 295, '2007-11-28', '2007-11-29');

Všechno fungovalo jak mělo ale najednou mi to začalo místo těch datumů vkládát '0000-00-00'.
Nevíte, v čem by mohla být chyba?

Díky za jakoukoliv radu
bzuK
Joker
Profil
bzuK
Nevkládá se třeba neplatné datum? Nebo je chyba někde jinde, ty uvedené dotazy jsem si zkopíroval do phpMyAdmina a normálně fungují.
bzuK
Profil
Joker
Díky za nápad, máš pravdu, při neplatném datumu se vkládá 0000-00-00, to by mě nenapadlo.

Ale vkládané datumy jsou OK. Jak jsem psal - dříve vše pracovalo tak, jak má. Teď když to blbne, vypíšu si při volání mysql_query příslušný dotaz, přes schránku zkopíruju a vložím do phpMyAdmina a příkaz se provede správně. Zkusil jsem spustit aplikaci na jiném počítači pod Windows XP - funguje, jak má.

Čuju spíš nějakou chybu na cestě mezi PHP a MySQL, neunikly mi nějaké direktivy nebo nastavení, které by mohly ovlivňovat tvar dotazu? Napadly mě jenom magic quotes, ty jsou ale vypnuty.

Nebo nějaký bug vznikající tím, že nejnovější serverové aplikace běží na 10 let starém OS? Na tento závěr nemám sebevědomí, tak radši hledám chybu u sebe a prosím o radu :o)
pledok
Profil *
bzuK:
Ahoj, starý vlákno, ale stala se mi stejná chyba, tak sem pro další lidi přikládám:
při různym překopávání (export/import) tabulek "se mi samo" změnilo porovnávání databáze z utf8_czech_ci na ucs2_czech_ci.
tabulky byly utf8, ale dbf byla ucs2. všimnul jsem si toho po třech dnech beznaděje, proklínání a pokusů ;o)
třeba tim někomu ty tři dny ušetřim..

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