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 00:11 | IT novinky

    Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.

    Ladislav Hagara | Komentářů: 0
    4.9. 23:49 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 1
    4.9. 17:33 | Zajímavý článek

    Bylo vydáno nové číslo hackerského magazínu tmp.0ut: Volume 5.

    Ladislav Hagara | Komentářů: 0
    4.9. 01:44 | Nová verze

    Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    3.9. 23:11 | Nová verze

    Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    3.9. 16:55 | IT novinky

    NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.

    Ladislav Hagara | Komentářů: 3
    3.9. 15:44 | IT novinky

    Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…

    Ladislav Hagara | Komentářů: 0
    3.9. 13:00 | Zajímavý software

    Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom

    … více »
    Cohen | Komentářů: 0
    3.9. 01:55 | Nasazení Linuxu

    CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.

    |🇵🇸 | Komentářů: 18
    3.9. 01:44 | Nová verze

    UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (3%)
     (20%)
     (29%)
     (7%)
     (6%)
     (2%)
     (14%)
     (21%)
    Celkem 2580 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Dotaz ohledně sql dotazů v PHP

    17.3.2012 15:40 Jareš
    Dotaz ohledně sql dotazů v PHP
    Přečteno: 578×
    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.