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í
×
    dnes 10:22 | Humor

    Connor Byrne z USA používal pro přihlašování na svůj iPhone 13 s iOS 18 heslo obsahující háček. Po aktualizaci na iOS 26.4 se už ale do telefonu nepřihlásí. Při přihlašování nelze tento háček zadat. Apple jej prostě odstranil [The Register].

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Nová verze

    Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 1
    dnes 02:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána verze 12.0 s kódovým jménem Ecne linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 24.04 LTS a podporována bude do roku 2029. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 9. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    11.4. 18:33 | Komunita

    Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.

    Ladislav Hagara | Komentářů: 0
    11.4. 03:11 | Zajímavý software

    Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.

    » FIDESZ🧡! « | Komentářů: 10
    10.4. 23:33 | Nasazení Linuxu

    Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.

    » FIDESZ🧡! « | Komentářů: 33
    10.4. 05:22 | IT novinky

    Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.

    Ladislav Hagara | Komentářů: 6
    10.4. 03:33 | Nová verze

    Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (13%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 1288 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Rozdílné výsledky SQL dotazu ve Workbench/php

    28.9.2014 20:45 cndr
    Rozdílné výsledky SQL dotazu ve Workbench/php
    Přečteno: 405×
    Hezký večer

    mám komplikovanější dotaz který v sekci SELECT používá dočasné proměnné kterým se přiřadí hodnota v sekci WHERE. Když dotaz spustím v mysql Workbench, dotaz vždy proběhne bez potíží a varování. Když tentýž dotaz přenesu do PHP, spustím tak dostanu NULL, kde se vyskytují dočasné proměnné v sekci SELECT. Kde mám hledat chybu? Mám zapnutý kompletní log serveru mysql, a z logu vidím, že jsou dotazy zcela identické ale návratové hodnoty různé. (Jasně, že data nejsou mezi dotazy ničím modifikovány!)

    Příklad:
     SELECT @a, @b FROM (SELECT 1) as t WHERE (@a := 1) > 0 AND (@b := 2) > 0
    Jarda

    PS: Je to jen výřez dotazu tam kde je FROM je ve skutečnosti spojeno několik tabulek, a za tím přiřazením do @a, @b je ve skutečnosti nějaká uživatelská funkce kterou volán s parametry a další komplikovanější test, a poněvadž ji musím otestovat ale i zároveň vrátit její hodnotu, používám ty dočasné proměnné (ať se to nespouští 2x v jednom dotazu).

    PPS: Pro hloubání je zde plná verze dotazu:
    SELECT
        IF(@a > 1,
            CONCAT(`c`.`service`, ' na ', @a, ' m.'),
            `c`.`service`) AS `service`,
        @a * @b AS `valuea`,
        CONCAT(`tb`.`day`,
                '.',
                9,
                '. ',
                2014) AS `date_to`,
        IFNULL(`b`.`name`, `b`.`firm`) AS `name`,
        `b`.`last_name`,
        `b`.`street`,
        `b`.`street_no`,
        `t`.`town`,
        `t`.`psc`,
        `a`.`account` AS `accounta`,
        `k`.`no` AS `ca`,
        CASE `a`.`symbola`
            WHEN 2 THEN `s`.`no_cotract`
            WHEN 1 THEN `s`.`symbol`
            ELSE ''
        END AS `ntracta`,
        CASE `a`.`symbolb`
            WHEN 2 THEN `s`.`no_cotract`
            WHEN 1 THEN `s`.`symbol`
            ELSE ''
        END AS `symbola`
    FROM
        `services` `s`
            INNER JOIN
        `contacts` `co` ON (`co`.`id_contact` = `s`.`id_contact`)
            INNER JOIN
        `type_payments` `tp` USING (`id_type_payment`)
            INNER JOIN
        `type_billings` `tb` USING (`id_type_billing`)
            INNER JOIN
        `billings` `b` USING (`id_billing`)
            INNER JOIN
        `concat_service_def` `c` USING (`id_service_def`)
            INNER JOIN
        `towns` `t` ON (`t`.`id_town` = `b`.`id_town`)
            INNER JOIN
        `bills_towns` `bt` ON (`b`.`id_town` = `bt`.`id_town`)
            INNER JOIN
        `bills` `a` ON (`a`.`id_bill` = `bt`.`id_bill`
            AND `bt`.`id_type_service` = `c`.`id_type_service`)
            INNER JOIN
        `banks` `k` ON (`k`.`id_bank` = `a`.`id_bank`)
    WHERE
        `tp`.`type_payment` = 2
            AND IFNULL(YEAR(`s`.`deleted`) <= 2014, TRUE)
            AND IFNULL(MONTH(`s`.`deleted`) < 9, TRUE)
            AND `co`.`id_town` = 3 AND
            (@a := (`month_for_bil`(`s`.`id_service`, 2014, 9) + 3)) > 0 AND
            (@b := (`price_service`(`s`.`id_service_def`, CONCAT('2014-9-', day)))) > 0

    Řešení dotazu:


    Odpovědi

    28.9.2014 20:59 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Rozdílné výsledky SQL dotazu ve Workbench/php
    Zkusil jsem si ten první příkaz a dostal jsem NULL, NULL. Když jsem ho spustil znovu, dostal jsem 1, 2. Zřejmě je to proto, že proměnné @a, @b musí být předem deklarovány. Potom už deklarovány jsou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.9.2014 21:30 cndr
    Rozbalit Rozbalit vše Re: Rozdílné výsledky SQL dotazu ve Workbench/php
    Heuréka, to bude asi ono! Ten testovací dotaz jsem přebral z nějakého serveru na optimalizaci dotazů a tvrdili, že to funguje. Vysvětlení je prosté ve Workbenchu jsem přihlášen trvale, takže si ty proměnné pamatuje z jiných dotazů.

    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.