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 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
včera 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 5
15.1. 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
15.1. 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 5
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 32
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 297 hlasů
 Komentářů: 21, poslední dnes 02:01
    Rozcestník
    Reklama

    Dotaz: Oprava php kódu

    21.5.2014 22:54 Dr
    Oprava php kódu
    Přečteno: 372×
    Ahoj, opraví mi prosím někdo tento kód ? Fakt už nevím jak :-( Díky
    $ids = '2,6,12,15,13,14,7,8,9,10,';
    $stmt = $pdo->prepare('SELECT * FROM table WHERE col IN (?) ORDER BY ID ASC;');
    $stmt->execute(array($ids));

    Odpovědi

    22.5.2014 00:10 Lucius
    Rozbalit Rozbalit vše Re: Oprava php kódu
    $ids udelej rovnou jako pole - $ids = array(2,6,12,15,13,14,7,8,9,10)

    a pokud to neni mozne tak ten retezec $ids prozen pres fu explode -ta vraci pole

    explode(',',$ids);

    http://cz1.php.net/explode
    22.5.2014 00:24 Dr
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Jako takto? To nefunguje..
    $ids = array(2,6,12,15,13,14,7,8,9,10);
    $stmt = $pdo->prepare('SELECT * FROM table WHERE col IN (?) ORDER BY ID ASC;');
    $stmt->execute($ids);
    tohle funguje ale je mi to k ničemu :-(
    $stmt = $pdo->prepare('SELECT * FROM table WHERE col IN (2,6,12,15,13,14,7,8,9,10) ORDER BY ID ASC;');
    $stmt->execute();
    wamba avatar 22.5.2014 01:24 wamba | skóre: 37 | blog: wamba
    Rozbalit Rozbalit vše Re: Oprava php kódu
    V dokumentaci pro Perl knihovnu DBI se píše

    Also, placeholders can only represent single scalar values. For example, the following statement won't work as expected for more than one value:
    "SELECT name, age FROM people WHERE name IN (?)"    # wrong
    a předpokládám, že v PHP to bude podobné. Tedy pokud je to náhodný počet libovolných čísel, tak pravděpodobně budete muset spouštět prepare pro každé $ids zvlášť.
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    22.5.2014 10:53 Lucius
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Pokud se nepletu,tak potrebujes ten jeden otaznik v IN (?) nahradit poctem hodnot v $ids

    takze

    'SELECT * FROM table WHERE col IN (?) ORDER BY ID ASC;'

    by melo vypadat nejak takto

    $ids = array(2,6,12,15,13,14,7,8,9,10);

    SELECT * FROM table WHERE col IN ('.trim(str_repeat ("?,", count($ids)),',').') ORDER BY ID ASC;

    Je to jen nastrel, nemam to ted kde kontrolovat, ale tak nejak by to melo jit
    23.5.2014 11:40 Logik
    Rozbalit Rozbalit vše Re: Oprava php kódu
    To jde, pokud v dotazu nejsou další proměnný na bindování, jinak se z toho člověk pak zvence při bindování.

    Jde se taky na bindování vykašlat a sestavit dotaz:
    $query=$pdo->prepare(
      'SELECT * FROM table WHERE col IN ('
      .implode(',', array_map(array($pdo, 'quote'), $ids)) . 
      ') ORDER BY ID ASC;'
    );
    23.5.2014 12:21 Lucius
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Proc? $ids v tom prikladu je uzavrena mnozina, ktera je jen podmnozinou vsech parametru - jediny rozdil by byl v tom, ze u takto jednoducheho dotazu je vlastne $ids zaroven i polem vsech parametru, pokud by mel dlalsi parametry tak proste $ids spoji s polem pro dalsi parametry.
    23.5.2014 12:33 Kit | skóre: 37 | Brno
    Rozbalit Rozbalit vše Re: Oprava php kódu
    My vlastně ani nevíme, kde se vzala proměnná $ids. Určitě ji takto neplní. Možná je to uživatelský vstup, možná výsledek dotazu v databázi. Každý případ se řeší jinak.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    23.5.2014 12:40 Lucius
    Rozbalit Rozbalit vše Re: Oprava php kódu
    To jiste, ale nez se dostane k prepare tak je uzavrena - je jedno odkud prijde, proste ve chvili prepare ma pevne dane hodnoty - takze to muze zpracovat jak jsme tu uvadeli reseni tu ma vic a pokud bude mit sql nejake dlasi parametry , tak je proste po tom zpracovani spoji s $ids. Kdyz si na to napise nejakou fu, tak to muze mit i docela pekne integrovatelne do jakehokoli kodu.
    23.5.2014 12:46 Kit | skóre: 37 | Brno
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Spíš bych ji označil za serializovanou. Taková práce s daty není zrovna standardní.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    22.5.2014 11:26 Kit | skóre: 37 | Brno
    Rozbalit Rozbalit vše Re: Oprava php kódu
    $ids = array(2, 6, 12, 15, 13, 14, 7, 8, 9, 10);
    $sql = "SELECT * FROM table WHERE col IN (" .
        implode(", ", array_fill(0, count($ids), "?")) .
        ") ORDER BY ID ASC;";
    $stmt = $pdo->prepare($sql);
    $stmt->execute($ids);
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    22.5.2014 16:15 Dr
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Díky chlapáci a můžu nějak ten SELECT již nahrazené otazníky za hodnoty nějak vidět? Zkoušel jsem var_dump() ale tam vidím jen otazníky. Díky moc.
    22.5.2014 16:39 Kit | skóre: 37 | Brno
    Rozbalit Rozbalit vše Re: Oprava php kódu
    Však ty otazníky se nahrazují na serveru až po kompilaci SQL dotazu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    22.5.2014 18:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Oprava php kódu

    Zjednodušeně: nemůže protože to v zásadě neexistuje, MySQL server má dotaz s otazníky + sadu hodnot a vnitřně si to tam dosadí ... juk.

    Nicméně to bala trochu „lež dětem“, pro dospělé je to trochu zamotanější na více úrovních, například dle PDO::ATTR_EMULATE_PREPARES lze zjistit (a nastavit) jestli, jsou to prováděné „server-side“ připravené dotazy nebo to PDO emuluje a tedy teoreticky, ten kompletní dotaz existuje sestavený na úrovni PDO.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.