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:44 | Zajímavý software

Evropská komise vydala novou verzi 1.4.0.1 svého open source v Javě naprogramovaného softwaru pro online průzkumy EUSurvey. Online dotazníky lze vytvářet na stránkách Evropské komise nebo si lze software stáhnout (zip a war) a nainstalovat lokálně. Zdrojové kódy jsou k dispozici pod licencí EUPL (European Union Public Licence).

Ladislav Hagara | Komentářů: 0
včera 23:55 | Komunita

Ubuntu 17.10 (Artful Aardvark) bude ve výchozím stavu zobrazovat Dok (Launcher). Jedná se o rozšíření GNOME Shellu Ubuntu Dock. To bylo forknuto z rozšíření Dash to Dock. Ukázka na YouTube [reddit].

Ladislav Hagara | Komentářů: 1
17.8. 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
17.8. 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

Ladislav Hagara | Komentářů: 1
17.8. 12:33 | Nová verze

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
17.8. 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 7
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 8
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (76%)
Celkem 358 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Úprava dotazu do mysql v php

    8.11.2013 22:02 Petr Bureš
    Úprava dotazu do mysql v php
    Přečteno: 2205×
    Ahoj, tady jsem našel řešení pro INSERT INTO, myslí, že ho sem poskytl KIT. Snažím se tohle řešení naimpletovat pro SELECT, ale vůbec mi to nejde. Nepomůže někdo?
    function select($table, $array){
    $a = implode(', ', array_keys($array));
    $b = implode(', ', array_fill(0, sizeof($array), '=?'));
    $sql = 'SELECT '.$a.' FROM '.$table.' WHERE '.$b.' LIMIT 1';
    $stmt = $pdo->prepare($sql);
    $stmt->execute(array_values($array));
    }

    Odpovědi

    9.11.2013 00:04 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    function select($table, $array){
    $a = implode(', ', array_fill(0, sizeof($array), '=?'));
    $sql = 'SELECT * FROM '.$table.' WHERE '.$a.'';
    $stmt = $pdo->prepare($sql);
    $stmt->execute(array_values($array));
    return $stmt = fetchAll(PDO::FETCH_ASSOC);
    }
    takhle by to melo fungovat
    9.11.2013 00:27 Petr Bureš
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Ale no tak :-D Co tam dělá ta hvězda (*) nechci načítat tunu údajů. Nedáš to prosím líp? Na tohle já fakt nemám... Díky moc
    9.11.2013 10:34 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    ano, jeste tam chybi AND / OR v podmince... vzhledem k tomu, ze chybi dalsi argument, ktery by urcoval, jake sloupce potrebujes vytahnout, tak je tym hvezda :) navic vzhledem k tomu, ze u tohoto nelze pouzit prirozeny vyber nebo joiny, je uplne jedno, jestli tam je hvezda nebo ne (a pokud ma tabulka nekolik desitek sloupcu, tak je spatne navrzena)
    9.11.2013 11:38 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Tabulky obvykle mívají 2-10 sloupců. Pokud budeš chtít místo hvězdičky ty sloupce vyjmenovat, přidej funkci další parametr. Obvykle stejně z DB netahám jen holá data, ale potřebuji je mít v nějakém definovaném formátu. Takže se tomu dalšímu parametru nevyhneš.
    9.11.2013 00:29 Petr Bureš
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Patrně tam ještě chybí v podmínce "AND", nebo ne?
    9.11.2013 00:05 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    samozrejme $stmt->fetchAll(PDO::FETCH_ASSOC);
    9.11.2013 07:57 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Na SELECT se to moc použít nedá, protože za normálních okolností budeš požadovat jiné sloupce, než které budeš dávat do podmínky.

    Kromě toho nejsem příznivcem takového slepování SQL dotazů. Umím to, ale rád to nevidím.

    Hned za řádek $sql = ... si přidej
    var_dump($sql);
    a sleduj, jaké SQL dotazy generuješ. Snad ti docvakne, v čem děláš chybu.
    11.11.2013 01:44 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Na použivání SQL v PHP doporučuju nesnažit se vymýšlet znova kolo a použít nějakou knihovnu, vřele mohu doporučit dibi, což je malá libka (minifikovaná verze jeden soubor), která dělá jen to, co dělat má, a to je pohodlná práce s dotazy nad databází (tedy žádné ORM). Více v tutoriálu.
    Baník pyčo!
    11.11.2013 07:06 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Knihovna Dibi je zbytečně tlustá a práce s ní je nepohodlná.
    11.11.2013 12:33 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Nesouhlasím.
    Baník pyčo!
    11.11.2013 13:37 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Pokaždé přepisovat SQL dotaz do nějaké objektové nudle, když to můžu jednoduše prsknout do PDO? To je dvojí přepisování. Jednou z SQL do Dibi a podruhé z Dibi do SQL.
    Jakub Lucký avatar 11.11.2013 14:26 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Do dibi se dá SQL psát přímo
    dibi::query("SELECT * FROM [whatever]")
    
    If you understand, things are just as they are; if you do not understand, things are just as they are. (Zen P.) Blogísek
    11.11.2013 14:54 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    a vznika dalsi mezivrstva kdy volani probiha trasou script -> dibi -> engine (ve vetsine pripadu pdo/mysqli) -> databaze

    vazne je to lepsi?
    11.11.2013 15:28 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Ano je, doporučuju si ten quick start projet ;-).
    Baník pyčo!
    11.11.2013 16:11 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    aha, takze je lepsi psat primo query pres dibi, ktera pak zavola PDO, nez primo pres PDO, protoze proc? protoze kontrola typovosti a ochrana proti sqli, kterou dela i PDO?
    12.11.2013 14:50 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    No tak ti víc vyhovuje PDO, věc vkusu...
    Baník pyčo!
    12.11.2013 16:19 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Výhodou PDO je, že objektový mód v něm funguje.
    12.11.2013 16:29 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    V dibi funguje taky. Ale já objektový mód nemusím (myslím pro sestavování dotazu), klasický mód mi, už miminálně syntaxí, mnohem více vyhovuje v dibi.
    Baník pyčo!
    12.11.2013 17:08 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    ano, ale dibi vola zase PDO... a kdyz nevola PDO, vola mysqli, tudiz nekomunikuje s db primo
    12.11.2013 17:13 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    A?
    Baník pyčo!
    12.11.2013 17:15 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Objektový mód se hodí zejména při výběru - výsledkem SQL dotazu je plnohodnotný objekt se všemi potřebnými metodami, ze kterých nejraději používám __toString(). Takový objekt pak v klidu vložím do výstupní šablony. Je to velmi pohodlné.
    12.11.2013 17:25 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Mluvil jsem o objektovém módu pro sestavování dotazu. Tedy špagety jako:
    $res = dibi::select('product_id')->as('id')
        ->select('title')
        ->from('products')
        ->innerJoin('orders')->using('(product_id)')
        ->orderBy('title')
        ->execute();
    
    ...které dibi umí, ale já je nemám rád a nepoužívám je.

    Speciálně pro Kita zvýrazním:

    Špagety jsou jednou z variant zápisu, statický mód je jednou z variant použití.

    Plnohodnotné objekty jako výsledky dotazů jsou samozřejmě užitečné, ale to patří už spíše do modelové vrstvy a ano, modelová vrstva může interně používat například dibi (nebo třeba PDO), věc vkusu ;-).
    Baník pyčo!
    12.11.2013 17:30 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    A co je to ten objekt $res? Umí to něco nebo je to jen Messenger, ve kterém je veřejný atribut product_id?
    12.11.2013 17:39 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    http://api.dibiphp.com/2.0/DibiResult.html, když ho ->fetchneš, dostaneš DibiResultIterator (iterable objekt), který se iteruje přes DibiRow (array access objekt, má tři konverzní funkce), můžeš místo fetch udělat ->fetchSingle a to ti vrátí přímo první buňku.
    Baník pyčo!
    12.11.2013 17:53 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Takže ho nemůžu přímo vložit do výstupu?
    echo "Výsledkem je: $res";
    Používám to docela často, zejména pokud $res má složitější strukturu, například řádek tabulky nebo položka seznamu s odkazy.
    12.11.2013 18:12 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Můžeš, pokud je to jedno políčko tak třeba takto:
    $res = dibi::query('select id from products where name = %s', $name)->fetchSingle();
    
    Pokud je to více políček, už musíš mít nějaké pravidlo, jak to převést na string, třeba tím, že si vytvoříš vlastní Row, třeba MyRow, která dědí od DataRow, definuješ ji metodu __toString() a nastavíš ji jako třídu pro výsledek:
    class MyRow extends DibiRow
    {
       public function __toString()
       {
         $res = "";
         foreach($this as $name => $value)
         {
           $res .= "$name:  $value
    "; } return $res; } } $res = dibi::query('select * from products where name = %s', $name)->setRowClass('MyRow')->fetch(); echo $res;
    Baník pyčo!
    12.11.2013 17:49 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Jinak možná ti jde o to nastavit si vlastní třídu jako výsledek dotazu. To dibi umí samozřejmě také ($result->setRowClass('MyRow')), kde MyRow by měl být potomkem DibiRow.
    Baník pyčo!
    11.11.2013 15:27 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Objektový mód je pouze doplněk dibi (navíc spíše experimentální) a osobně jsem ho nikdy nepoužil a ani používat nedoporučuji. Ale quick start, který jsem linkoval, ho vůbec nezmiňuje!

    Šlo mi pouze o syntaxi jako:
    dibi::query('UPDATE `table` SET `text`=%s', $text, 'WHERE flag=%i', $flag);
    
    která je IMHO velmi návyková a pohodlná. Navíc to, že je dibi jistá (velmi primitivní - což je dobře!) mezivrstva velmi pomáhá tomu, kdyby náhodou někdy přecházel na jinou databázi.

    Výkonostně tu žádné měřitelné ztráty nejsou (bavíme se o tomto módu, ne o těch objektových špagetách).

    Niméně i v tomhle "array" módu umí dibi velmi užitečná kouzla, například:
    dibi::query('UPDATE `table` SET ', array('attribut1' => 'foo', 'atribut2' => 'bar'));
    
    Baník pyčo!
    11.11.2013 17:35 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    To "užitečné kouzlo" mám na 3 řádcích ve své knihovně. Kvůli takové prkotině nepotřebuji Dibi. Stejně to nepoužívám, protože se mi příčí takhle lepit SQL dotazy. Uvedené příklady používám v této podobě:
    $update = $db->prepare("UPDATE `table` SET `text`=? WHERE flag=?");
    $update->execute(array($text, $flag));
    
    $druhy_update = $db->prepare("UPDATE `table` SET `attribut1`=?, `attribut2`=?");
    $druhy_update->execute(array('foo', 'bar'));
    
    a protože to mám ukryto v objektech modelu, které se o danou relaci starají, tak ani nevadí, že je to na dvou řádcích. Třída zůstává miniaturní.
    12.11.2013 14:48 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    To seš drsný. Představ si, že já mám taky svou knihovnu a taky svůj model (postavený na dibi). Ale tady autor dotazu chce asi s MySQL a PHP nějak začít a s dibi může hned, správně (bez SQL injection) a relativně pohodlně. A třeba si časem najde něco jiného ;-).

    Ale pokud si myslíš, že je tvá knihovna tak super, tak ji zveřejni - i s patřičnou dokumentací - a ještě lépe pro autora dotazu připrav nějaké školení, třeba si ji vybere ;-).
    Baník pyčo!
    12.11.2013 15:53 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    tak at rovnou pouzije nejaky framework na tvorbu webu... nebo jeste lepe, at to postavi na Wordpressu, treba se casem nauci i to php
    12.11.2013 16:37 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Sám používam framework (Nette) a k němu dibi (zakomponované ve svém vlastním "orm", ale to je detail). Myslím, že to nemá přímou souvislost ;-).
    Baník pyčo!
    12.11.2013 16:15 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Mám tam snad nějaké SQL injection? Co je na tom nepohodlné?

    Se zveřejněním počítám, jen co dodělám tu "omáčku".
    12.11.2013 16:34 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Nemáš, ale taky tam je těch nahrazování minimum. Dibi má těch featur fakt hodně, například:
    dibi::query('SELECT * FROM `table` WHERE %and', array(
        array('number > %i', 10),
        array('number < %i', 100),
    ));
    
    Baník pyčo!
    12.11.2013 16:35 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Nehledě na to, že s PHP 5.4 ta syntaxe vypadá ještě lépe:
    dibi::query('SELECT * FROM `table` WHERE %and', [
        ['number > %i', 10],
        ['number < %i', 100],
    ]);
    
    Baník pyčo!
    12.11.2013 16:42 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Je mi líto. Kromě existence dalšího metajazyku, který nepotřebuji, v tom nevidím žádný přínos. Pochybné je už to, že metody volají staticky, což zhoršuje testovatelnost.
    12.11.2013 16:49 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Statický režim osobně nepoužívám, ale pro začátečníky, co nemají žádný systém pro předávaní služeb, je asi nejjednodušší na použití.

    Samozřejmě můžeš dibi i normálně instancovat (i víckrát), otevřel sis ten tutorial vůbec? :-(

    A ano, ten meta jazyk je pro mě klíčová featura dibi :-).
    Baník pyčo!
    12.11.2013 16:58 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Tutoriál Dibi číst nepotřebuji. Stačí mi, když vidím, jak to v něm ostatní lepí a snaží se ukázat, jak je to super udělané. Ve statickém režimu se nedá dělat DI. Také si nedovedu představit, jak bych v Dibi pracoval s několika databázemi současně. Asi to jde podobně jako v PDO.

    Měl bys příklad nějakého zápisu, který je v Dibi jednodušší a přehlednější než v PDO?
    12.11.2013 17:06 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Kdyby sis můj příspěvek pořádně přecetl, tak zjistíš, že žádný statický režim není třeba, normálně se dibi používá samozřejmě takto:
    $options = array(
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'username' => 'root',
        'password' => '***',
        'database' => 'table',
    );
    
    // v případě chyby vyhodí DibiException
    $connection = new DibiConnection($options);
    $connection->query('TRUNCATE `table`');
    
    A já sám DI s dibi normálně používám.

    A kdyby sis otevřel ten tutoriál, tak tenhle kód najdeš úplně nahoře. Ale ne, pán si to nerozklikne, aby se mu náhodou nerozbila jeho pravda o tom, jak je dibi hrozné a radši na něj bude plivat a ze sebe dělat akorát... ;-)

    A ne, už tu nic psát nebudu. Přikladů je plný ten tutoriál. Já tuhle debatu končím, koho dibi zaujalo, ať si proletí ten tutoriál, koho ne, ať si používá, co je mu milé. Nejsem žádný evangelizátor kruciš... Jen mi šlo o to doporučit dibi jako alternativu k PDO pro autora dotazu, protože se mi s ním osobně pracuje lépe (a pravděpodobně nejsem sám).
    Baník pyčo!
    12.11.2013 17:16 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    jenze dibi neni alternativa k PDO, je to dalsi vrstva nad PDO (nebavim se o normalni mysql connectoru, ktery zpusobi to, ze dibi kupodivu v novem php nebude fungovat)
    abyste si nemyslel, ze si to taham s prstu, http://api.dibiphp.com/2.1/source-drivers.DibiMySqlDriver.php.html#155-175

    a vazne, pokud pracuju na projektu, kde delam s databazi, je o dost lepsi pouzit PDO nez mysqli, uz jenom kvuli nespornym vyhodam PDO... a ne, vazne nepotrebuju dalsi vrstvu, ktera dela to, co PDO, jenom s kupou kodu navic, protoze je s tim prace "lepsi"
    12.11.2013 17:30 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    A já to snad popírám? :-D Ano, dibi je vrstva nad PDO, mysqli, mysql, pqsql, oracle...

    A ne, dibi (pro mě) nedělá to co PDO.

    Benefit dibi je (pro mě) například jeho metajazyk. Pro seznámení s ním doporučuji quickstart ;-).
    Baník pyčo!
    12.11.2013 19:54 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    to, ze pro vas nedela to co PDO, neznamena, ze ho musi pouzivat kazdy... ja se s vami nepru, ze pro urcite jedince je pouzit dibi vhodnejsi, ale reagovat na otazku "jak v PDO udelat to a to" odpovedi "vykasli se na PDO, je nanic, pouzij dibi, je super", je uplne mimo... tedy presne to, co se snazime s Kit-em dokazat

    vam pro seznameni doporucuju oficialni manual php, zjistite, ze mit kupu nenazranych knihoven (ne, neni to zadny utok na pana Grudla) je v jakemkoliv projektu, nez mensim, na obtiz... najednou se zvysi zatez, hosting / server / databaze nebude stihat a co udelate? prece se nevykaslete na to skvele dibi, kdyz dela takovou super praci :)

    tudiz ano, uzavrel bych to tim, ze vam vyhovuje dibi, nam vyhovuje PDO... a ohledne tech kotatek, co delate ve svem volnu me vubec nezajima :)
    14.11.2013 00:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Si to tady tak čtu, tak jsem si prošel dibi a „ne“, dibi není vrstva nad PDO, nad zbytkem ano. To že má i PDO driver to trochu mate. Použíti PDO přes dibi by bylo opodstatněné jen ve velmi specifických případech nebo při momentálním drobném šílenství uživatele :-).
    Dibi je to samé co PDO, tedy abstraktní level nad specifickým db conectorem, jenže dibi je na vyšší vrstvě (ehm tedy na nejvyšší −> nejpomalejší) a kdokoliv by se rozhodoval co použít dnes, nemá důvod si zvolit dibi, to je prostě velmi obyčejná a dost nedokonalá PHP knihovnička. Troufám si říct, že už před 10 lety jsem měl mnohem sofistikovanější (jen mysql, mysqli, postgresql a limitované mssql), bo jsem neměl jinou možnost, jak si udělat abstraktní vrstvu bez přímé vazby na dbe a proto vzniklo asi i dibi.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    12.11.2013 17:27 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Možná kdyby sis přečetl manuál k PDO, tak bys Dibi také nepotřeboval. Ale ne, pán se na manuál PDO prostě nepodívá, protože má své Dibi :-)
    12.11.2013 17:31 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Používáš mé argumenty, tvé ti došly? :-P
    Baník pyčo!
    12.11.2013 17:37 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Použil jsem tvé argumenty, abych ti dokázal, jak jsou nesmyslné. Manuál k PDO je kratší a snáze pochopitelný, než manuál k Dibi. Samotné PDO toho umí víc než Dibi.
    12.11.2013 17:41 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Nesmyslné je kritizovat něco, o čem nic nevím. To jsi tu předvedl hlavně ty. Jak můžeš vědět, že PDO toho umí víc než Dibi, když ho vůbec neznáš? A nezkoušej to otočit, já netvrdím, že PDO neznám, nebo že jsem nečetl jeho manual.
    Baník pyčo!
    12.11.2013 17:49 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Řekněme, že jsem zatím nezkoušel v Dibi otevřít víc databází současně a jedním dotazem provést výběr jako kombinaci různých tabulek z různých databází. Nevím, jestli to umí Dibi, ale PDO to zvládá. Umí to Dibi?
    12.11.2013 18:01 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Otevřít více připojení k databázím v dibi není problém (umí to jak statický způsob, tam se dá přepínat, tak způsob přes instance, vytvoří se jich víc s různými pametry připojení).

    Jeden dotaz přes více databází bohužel dibi neumí. Já to nepotřebuju. Kdybych to potřeboval, rozdělil bych to buď v dibi na více dotazů, nebo bych v tomto specifickém případě spráskl podpadky a použil PDO. Takže jo, v jednom případě si mě dostal... super že? :-)

    Teď vážně, dibi má pro mě přínos v jiných věcech (syntaxe - meta jazyk, částečná přenositelnost dotazů mezi databázemi).
    Baník pyčo!
    12.11.2013 17:32 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Co to uzavřít s tím, že tobě vyhovuje PDO, mě dibi a všichni budeme šťastní? ;-) A pro DarkKnight - ano, já používám o vrstvu víc, takže kvůli mě zemřou ročně miliony koťátek!
    Baník pyčo!
    12.11.2013 20:14 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Jsem rád, že už nemáš nic proti tomu, aby Petr Bureš (tazatel) zůstal u svého oblíbeného PDO.
    12.11.2013 20:27 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Tazatel nepůsobil, že by měl PDO jako oblíbené (to by asi dokázal vyřešit svůj dotaz sám), ale že potřebuje v PHP pracovat s MySQL a někdo mu zde poradil (nebo on si poradil - netuším) jako jeden ze způsobu PDO. Já nabídl alternativu, o které se domnívám, že by po něj mohla být lepší (což je samozřejmě subjektivní). Na tazateli je, ať si vybere :-).

    Ale dobře, abych projevil trošku sebereflexe, uznávám, že můj první post v tomto vlákně byl (schválně) trošičku provokativní, ale aspoň to spustilo zajímavou diskuzi. Je pravda, že PDO rozhraní rád nemám (jako ty nemáš rád dibi ;-)).
    Baník pyčo!
    12.11.2013 20:44 Kit
    Rozbalit Rozbalit vše Re: Úprava dotazu do mysql v php
    Pro mne tato debata také měla svůj přínos. Aspoň už nemusím číst ten manuál Dibi, který jsi mi doporučil :-)

    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.