abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 1
    včera 15:11 | Nová verze

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    5.6. 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 5
    5.6. 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    5.6. 12:33 | Komunita Ladislav Hagara | Komentářů: 15
    5.6. 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 3
    5.6. 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

    Ladislav Hagara | Komentářů: 0
    5.6. 04:33 | Zajímavý software

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    5.6. 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 7
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (33%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 214 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Dotaz: Mysql datetime - kontrolovat vstup při porovnánání ?

    13.12.2010 17:42 sss
    Mysql datetime - kontrolovat vstup při porovnánání ?
    Přečteno: 644×
    ahoj. Mám napsanou jednoduchou aplikaci kde uživatel zadá datum a čas a mysql vrátí data větší než datum. Nijak neomezuju vstupní řetězec, protože jsem zjistil, že mysql je jedno jestli je vstup 2010-10-10 12:12:12 nebo třeba "dasd234dc". Dotaz vždy proběhne. Takové chování se mi líbí, ovšem neexistuje taková kombinace vstupních znaků které by způsobily selhání dotazu při porovávání se sloupcem datetime?

    Odpovědi

    Jendа avatar 13.12.2010 18:15 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    Když uživatel pošle jako vstup "; DROP TABLE `tabulka`; --, jak bude vypadat ten dotaz?
    13.12.2010 18:48 sss
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    Automaticky se to odescapuje, používám pdo prepared statements. Mě jde spíš o to, že za určitých okolností je výhodné mít možnost provádět dotazy typu "... where datum < 'nahodnyretezec'". Jestli takový dotaz dává smysl nebo ne to je v tu chvíli celkem jedno (stejně jako porovnánání řetezců s čísly apod.) - toto všechno mysql řeší alespoň v případech které jsem zkoušel. Proto se ptám jestli existuje nějaký případ kdy ten dotaz může selhat.
    rADOn avatar 14.12.2010 12:59 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    Jestli si dobre vzpominam tak pri nejakym nastaveni serveru muze selhat neplatny datum, napr. 30. unor. Ale co to presne bylo uz ti nepovim, hledej v rtfm k datetime.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    rADOn avatar 14.12.2010 13:02 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    14.12.2010 15:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    No buď Vám to selže na každý neplatný datum nebo to vygeneruje (obvykle) jen warning a datum je nastaven na nulu respektive na 0000-00-00 - dle nastavení. Takže máte možnost si získat warningy (pomocí 'SHOW WARNINGS') a případně na to upozornit, pokud to nepovažujete z nějakého důvodu za chybu.
    Jestli se nepletu ty warningy to generuje od nějaké verze 5.0.x - nevím přesně.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.12.2010 16:46 kuka
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    Mozna trochu OT, ale to, ze dotaz "vzdy probehne" nemusi byt uplne zadouci z hlediska vykonu. Prece jen pokud vim rovnou, ze to nic nevybere, nemusim napr. databazi vubec volat, natoz aby neco vyhodnocovala.
    17.12.2010 17:08 sss
    Rozbalit Rozbalit vše Re: Mysql datetime - kontrolovat vstup při porovnánání ?
    Tak jsem koukal do konfigu zjišťoval jsem zda nemám zaplý nějaký sql_mode a ne a stejně to bere všechny datumy dokonce i když nastavím STRICT_ALL_TABLES tak to nevyhodí ani výjimku. Mám mysql 5.1. Je tohle chování v pořádku? Celkově bych totiž potřeboval zaručit, aby šlo všechno porovnávat se vším. Třeba INT s řetězcem, VARCHAR s číslem, BIT s čímkoliv apod. Ono to teda teď funguje, ale zase nevím jestli to bude fungovat u všeho a podle manuálu by to bez allow_invalid_dates nemělo fungovat na špatných datumech, ale funguje, tak já nevím. Celkově jde o to, že já mám nějakou tabulku u které předem neznám datové typy sloupců a uživatel může zadávat podmínky typu: kde sloupec1 < "libovolný uživatelem zadatelný řetězec". Kdybych měl porovnávat co uživatel smí zadat. upravovat formuláře podle datových typů v tabulce ... tak by to bylo dost kódu navíc, proto bych to chtěl vyřešit přímo v mysql.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.