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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

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

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 13
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 1
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

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

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 49
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 777 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Úprava dotazu do mysql v php

8.11.2013 22:02 Petr Bureš
Úprava dotazu do mysql v php
Přečteno: 2179×
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: 24
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: 24
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: 24
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: 24
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: 24
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: 24
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: 24
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: 24
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: 24
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.