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 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 3
    27.2. 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 13
    27.2. 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 16
    27.2. 12:44 | IT novinky

    Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.

    Ladislav Hagara | Komentářů: 20
    27.2. 12:11 | Zajímavý článek

    Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou

    … více »
    karkar | Komentářů: 10
    27.2. 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    26.2. 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    26.2. 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 6
    26.2. 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 974 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Dotaz ohledně sql dotazů v PHP

    17.3.2012 15:40 Jareš
    Dotaz ohledně sql dotazů v PHP
    Přečteno: 382×
    Ahoj, mám dotaz ohledně sql dotazů do db v PHP. Pod volaný dotaz dám tohle
    print_r($stmt->errorinfo());
    a i když se všechno uloží, přesto je na výstupu tohle
    Array
    (
        [0] => 00000
        [1] => 
        [2] => 
    )
    Jedná se o chybu nebo jen o nějaký informační výsledek? Jak můžu udělat vypsání chyb pokud nějaká nastane? Děkuji

    Řešení dotazu:


    Odpovědi

    17.3.2012 16:03 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Metoda errorinfo() se volá pouze v případě, kdy nějaká chyba vznikla. Viz manuál.

    17.3.2012 16:09 Jareš
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Na tu stránku již dvě hodiny čučím ale o tom jak zjistit jestli existuje chyba tam není ani čárka :-(
    17.3.2012 16:45 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Ty to nevidíš?
    $stmt = $dbh->prepare('bogus sql');
    if (!$stmt) {
        print_r($dbh->errorInfo());
    }
    
    Ve svých aplikacích si to však zjednodušuji:
    if(!($stmt = $dbh->prepare('bogus sql'))
        throw new Exception('Chybný dotaz SQL');
    17.3.2012 16:58 Jareš
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    No to vídím, ale tohlé žádnou chybu nikdy nevrátí, i když odnstaluji na serveru mysql db :-D

    Celé to mám takto ale chyba fakt žádná :(
              $stmt = $pdo->prepare("INSERT INTO `reg` (`a`, `b`, `c`, `d`, `e`) VALUES (?,; ?,; ?,; now(),; 1;)");
              $stmt->execute(array($_POST['a'], $_POST['b'], $_POST['c'], $_POST['e']));
    
              if (!$stmt) {
              print_r($pdo->errorInfo());
              }
    17.3.2012 17:22 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Však tu chybu vůbec netestuješ. Místo toho hned voláš execute().
    $stmt = $pdo->prepare("INSERT INTO `reg` (`a`, `b`, `c`, `d`, `e`) VALUES (?,; ?,; ?,; now(),; 1;)");
    if (!$stmt) {
        print_r($pdo->errorInfo());
    }
    $result=$stmt->execute(array($_POST['a'], $_POST['b'], $_POST['c'], $_POST['e']));
    if (!$result) {
        print_r($stmt->errorInfo());
    }
    17.3.2012 17:34 Jareš
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Jo takhle to je, hm, je vidět, že o tom máš vážně přehled..Jinak který ten výpis kontroluje uložení do mysql? Ten druhý? Ten první kontroluje nějakou validnost toho dotazu? Díky

    17.3.2012 17:47 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Ten první výpis kontroluje validnost SQL dotazu (máš ho špatně, to asi víš), druhý oznamuje jeho neúspěšné provedení.
    17.3.2012 18:31 Jareš
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Špatně? Hm, zrovna tento příklad jsem obšlehl zde ve fórum a zrovna jsi ho psal i ty jestli se nepletu zde nebo jsem to špatně pochopil? Dík
    17.3.2012 18:37 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Máš špatně ten INSERT. Ty středníky mezi otazníky tam nepatří.

    Veškeré starosti s chybami v PDO se dají elegantně vyřešit, pokud jako 4. parametr konstruktoru dáš array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION). Nemusíš se pak piplat s if() a print_r(), prostě jen píšeš příkazy a nic netestuješ.
    17.3.2012 18:57 Jareš
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Máš špatně ten INSERT. Ty středníky mezi otazníky tam nepatří.
    Nepatří tam tedy ani jeden středník?
    Veškeré starosti s chybami v PDO se dají elegantně vyřešit..
    Tak že celý konstruktor bude takto?
    $pdo = new PDO ('mysql:host='.$host.';dbname='.$db.';charset=UTF-8', $user, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"), array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    A jak pak zjistím, že nastala chyba? když nebudu psát žádnou if()?

    Dík

    BTW: Můžu si dovolit jeden osobní dotaz?

    17.3.2012 19:15 Kit
    Rozbalit Rozbalit vše Re: Dotaz ohledně sql dotazů v PHP
    Středník ukončuje SQL dotaz. Chyby zachytíš v obsluze výjimek.

    Konstruktor nebude obsahovat 5. parametr, ale oba atributy budou ve 4. parametru:
    try{
        $pdo = new PDO('mysql:host='.$host.';dbname='.$db.';charset=UTF-8', $user, $password,
            array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
        $stmt = $pdo->prepare("INSERT INTO `reg` (`a`, `b`, `c`, `d`, `e`) VALUES (?, ?, ?, now(), 1);");
        $stmt->execute(array(1,2,3));
    } catch(PDOException $e) {
        echo $e->getMessage(),"\n",$e->getTraceAsString(),"\n";
    }
    
    Osobní dotaz? Jsme na veřejném fóru. Ptej se na co chceš a já odpovím, na co budu chtít.

    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.