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

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 37
    27.10. 13:44 | Komunita

    Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].

    Ladislav Hagara | Komentářů: 2
    26.10. 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 31
    26.10. 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 10
    26.10. 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2936 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Dotaz ohledně sql dotazů v PHP

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

    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.