« 1 2 »
Autor Zpráva
Fisir
Profil
Ahoj. Kudy tu chodím, tudy tu upozorňuji na nevhodnost použití PHP rozšíření mysql_*. Už mě to nebaví vypisovat a navíc jsem chtěl tazatelům poskytnout více informací, tak jsem o tom rovnou napsal článek. Na ten nyní pokaždé odkazuji.

Chtěl bych se tedy zeptat, zda to nebude bráno jako spamování. (Případně se můžete vyjádřit i k obsahu článku.)
jenikkozak
Profil
Vzhledem k tomu, že je poznat, že ten jsi ten článek spíchnul za dvanáct minut, jeho propagování zde na diskusi bych nepovažoval za nějak extra přínosné.
Bubák
Profil
jenikkozak:
Třeba by pomohlo, kdyby Fisir věděl, na kterých částech článku ještě zapracovat. Nebo je to opravdu tak špatné? Já to nedokáži posoudit.
Kubo2
Profil
Fisir:
upozorňuji na nevhodnost použití PHP rozšíření mysqli
Vážne? Ešte som si nevšimol, že by si tu vytýkal tazateľom používanie PHP rozšírenia MySQL Improved. Všímam si tvoje masové upozorňovanie na zastaralé PHP rozšírenie pre prácu s databázou MySQL, ale všade upozorňuješ iba na to, aby tazateľ používal mysqli_* funkcie namiesto ekvivalentných (a taktiež zastaralých) mysql_*. Takže si trochu protirečíš :-)

Fisir
Profil
Reaguji na Bubáka:
To by rozhodně pomohlo. Ptám se proto, abych jednak nebyl za spammera a druhak pro to, abych tazatele neodkazoval na nějaké bláboly.

Reaguji na Kuba2:
Hm :-).
jenikkozak
Profil
Když si z toho článku odmyslíme zbytečnosti, jako je druhý odstavec (o zcela nemístném srovnání s jiným webem) a celou tu kapitolu mysqli_* ekvivalenty mysql_* funkcí (která se tváří jako užitečná a kompletní, přestože není), zbude mi pěkná porovnávací tabulka, o které mám pocit, že už jsem ji někde viděl, ovšem nebylo to u Fisira a byla celá. Výsledkem je, že z celého článku zůstane čtyřpoložkový seznam, na který je poněkud zbytečné odkazovat.
Fisir
Profil
Reaguji na jenikkozaka:
Podle mě nemá smysl opisovat tabulku v případech, že se jednotlivá rozšíření od sebe neliší. Ale prosím, vy jste páni.
jenikkozak
Profil
Když na ten článek párkrát odkážeš, určitě se z toho nezblázním. Píšeš však o hojném odkazování. Protože mysql_ funce se tu objevují průměrně jednou denně, asi by mi dost vadilo, kdybys do každého takového vlákna odkaz na svůj web přidával.
Kubo2
Profil
Fisir, jenikkozak:
Dobre, čo keby ste sa vy dvaja rozhodli pre nejaký kompromis:

Fisir ten článok prepíše, možno trochu obohatí o informácie (nečítal som ho, súdim z príspevkov v tomto vlákne) a jenikkozak mu uzná, že je fakt otravné (a po dlhšej dobe aj dosť obtiažne) i jednou denně vždy rozlične formulovať dve stovky znakov textu, podotýkajúcich na skutočnosť, že PHP rozšírenie mysql je zastaralé a povolí mu namiesto toho vkladať do príspevkov vo vláknach, kde je to relevantné, odkazy na tento vylepšený článok z Fisirovho doupěte.
Alphard
Profil
Fisir:
Myslím, že to nemá moc smysl. Předpokládám, že článek cílí na začátečníky, kteří neznají naprosté základy. I když jim ukážeš alternativu, nebudou chtít přepisovat dosavadní kód (i kdyby to zvládli).
Zpravidla používají freehostingy, kde nebývá zrovna aktuální verze PHP (a po uvolnění verze rušící mysql_ extenzi se do toho tím spíš nepoženou).

Doporučoval bych článek spíš zkrátit, nějakou twitterovou verzi :-) nebo mohu pár vět napsat do FAQ. Odkazuj si ho spolu s radou řešící tazatelův problém, ale neposílej sem příspěvky, kde jediným obsahem bude tento odkaz.
Taurus
Profil
jenikkozak:
pěkná porovnávací tabulka, o které mám pocit, že už jsem ji někde viděl, ovšem nebylo to u Fisira a byla celá

Zase problém s citací…?
Fisir
Profil
Reaguji na Taura:
Zítra už nebude, neměj strach. Zase.
Radek9
Profil
Fisir:
Asi bych měl pár hlavních připomínek:
1) Když už jako jednu z výhod MySQLi vypisuješ objektový přístup, proč ho nepoužiješ v ukázkách? Ten procedurální způsob bych zmínil jen okrajově.
2) Taktéž zmiňuješ prepared statements. I u nich by se hodila ukázka. Hlavně kvůli tomu, že získávání řádku výsledku je poněkud nezvyklé (kvůli použití bind_result).
3) Proč se zaměřuješ pouze na MySQLi a ne i na PDO? Je to také zajímavá alternativa s ještě širším spektrem funkcionality.
4) Taktéž by se hodilo zmínit některé wrappery, které práci s těmito API zjednodušují.
Fisir
Profil
Reaguji na Radka9:
Na všechny body odpovím tím, že je to článek určený začátečníkům u kterých pochybuji, že by se pouštěli do objektového programování a dalších složitostí.
juriad
Profil
Podceňuješ začátečníky.
I začátečník si vybere perspektivní technologii, když mu ukážeš její zřejmé výhody (a nevýhody té zatracené).
I když tomu, co napíšeš, neporozumí ihned, zapamatují si, že něco takového je možné. A třeba se později vrátí, aby to prostudovali pořádně.
Oproti oficiální dokumentaci máš obrovskou výhodu v tom, že píšeš česky a nemusíš popsat úplně všechno.

Pokud zmiňuješ nevýhody mysql_*, musíš je ukázat na příkladech. A diskutovat možná řešení v rámci té technologie a dojít k závěru, že elegantní řešení neexistuje. A pak čtenáři ukázat řešení pomocí mysqli_* s minimálním potřebnou změnou.
Jinak si čtenář řekne, že takový problém nemá a že ho to vlastně nezajímá. Napíšeš jen heslo a čtenář neví, co tím myslíš. Nenapadne ho, že se s tím problémem setkává každou chvíli.
Radek9
Profil
Fisir:
pochybuji, že by se pouštěli do objektového programování a dalších složitostí
Docela mě překvapuje přístup spousty lidí, kteří si myslí, že pro začátečníky je ohromně složité naučit se objektové programování. To vůbec není pravda. Obtížný je ten přechod z procedurálního na objektové. Pokud s objektovým začneš, není absolutně žádný problém (ověřeno v praxi).
Fisir
Profil
Reaguji na Radka9:
Měl jsem na mysli právě ten přechod, protože pokud je na tenhle článek odkazuji, už mají procedurální kód s rozšířením mysql_*.
Radek9
Profil
Fisir:
Já jsem osobně také dlouho dobu používal MySQL rozšíření, nicméně jsem nad ním měl svůj objektový wrapper. Vím, že je to potom trochu subjektivní a ne u každého je vhodné hned použít objektový přístup. Nicméně bych ho určitě zmiňoval jako primární způsob a až potom bych ukázal, že to jde i procedurálně.
pcmanik
Profil
Podľa mňa je jednoduchšie odkázať na článok ako neustále hovoriť o zastaralosti mysql. Članku nič nechýba jasne popisuje nevýhody mysql, len mi tam chýba PDO ako jedna z možností nahradenia mysql.

Taktiež peta si tu neustále odkazuje na svoj web, tak prečo by Fisir nemal? Naviac je toto myslím oveľa užitočnejšie ako to čím nás tu zásobuje peta.
Fisir
Profil
Článek jsem přepsal, je to lepší?
Tori
Profil
Chybí koncovka: „spousta kódů využívajících PHP rozšíření “ (hned na začátku).
Určitě lepší, taky to někdy odkážu.
Fisir
Profil
Reaguji na Tori:
Opraveno a děkuji.
jenikkozak
Profil
pcmanik:
Nevýhoda bytí jako peta, je ta, že jsi pak jako peta

Tohle je úplně jiný článek, Fisire. Líbí se mi, jak jsi na něm zapracoval.
Fisir
Profil
Reaguji na jenikkozaka:
Takže…? (Příspěvky samozřejmě budou obsahovat i něco k tématu, ne jen upozornění a odkaz.)
jenikkozak
Profil
Takže to, co jsem napsal k původní verzi, pozbylo platnosti. Nebudu odkaz na tvůj článek považovat za nežádoucí. Myslím si, že může lidem pomoci. Což ale neznamená, že na něm už nemůžeš dál pracovat. :)
Radek9
Profil
Fisir:
Nyní je v módě objektový přístup
Tohle bych možná formuloval trošku jinak. :-)

nýbrž rovnou při incializaci třídy
Instance, nikoli třídy. Případně napsat jako „při volání konstruktoru“.

U MySQLi je na to vyhrazená proměnná
Tady bych spíš použil termín vlastnost či datová položka.

Důležitou součástí zabezpečení je escapování
A zrovna tady by se velice hodilo zmínit prepared statements, které escapování ohromným způsobem zjednodušují. ;-)

Časem bych možná přidal ukázky i k PDO (což ale není nutné) a jinak nemám připomínky, hezky sepsáno. Na popostrčení začátečníků je to více než dostačující. ;-)
Chamurappi
Profil
Reaguji na Fisira:
Vadí, že budu hojně odkazovat na svůj článek?
Nezkoumal jsem vůbec obsah tvého článku, ale mně osobně připadá lepší, když na své texty nemusím odkazovat sám. Napíšeš-li něco opravdu hodnotného a potřebného, stačí jen prvotní impuls a dál už na tebe budou hojně odkazovat jiní…
Fisir
Profil
Reaguji na Chamurappiho:
Já bych si také přál, abych na sebe nemusel odkazovat já sám, je mi to trapné, ale…

Reaguji na Radka9:
Tohle bych možná formuloval trošku jinak.
Je to lepší?

tady by se velice hodilo zmínit prepared statements
Zmínil jsem, snad jsem podchytil vše důležité.
juriad
Profil
Fisir:
1) Není třeba FROM DUAL. V Mysql není klauzule FROM povinná jako v Oracle.
2) V tabulce znaků v bind_params bych druhý sloupec přeložil do češtiny.
3) U prepared statements můžeš zmínit, že se vyplatí použít i když nechceš dotaz volat opakováně a využít je jen jako elegenatní způsob escapování. Snížíš riziko chyby tím, že samotný dotaz neobsahuje žádné konstanty a je přehledný a veškeré hodnoty se do něj dosazují programově.
4) Dotaz INSERT INTO table VALUES (?) selže, protože table je klíčové slovo. Nevím, jestli je to záměr v příkladu demonstrujícím chyby.
5) Vedle celého příkladu procedurálním stylem bych napsal ještě ten samý příklad objektovým stylem, ať si čtenář opravdu všimne, že je to „stejné“.
6) PDO bych nepsal jako zvláštní kapitolu na konci, ale na začátku zmínil, že existuje a že se jím nebudeš zabývat. Takto navazující slibovaný druhý díl nebude přerušen.

Jinak se mi článek docela líbí.
Mimochodem, celý obsah (#contentContent) má horizontální posuvník. FF27, Linux. Může za to textarea s komentáři (respektive její roztáhnutí na šířku).
Fisir
Profil
Reaguji na juriada:
Ad 1) Smazáno
Ad 2) Přeloženo
Ad 3) Zmíněno
Ad 4) Původně to záměr byl, ale možná dost špatně odhalitelný
Ad 5) Dopsáno
Ad 6) Který druhý díl? :-)

celý obsah (#contentContent) má horizontální posuvník
Pravděpodobně tvůj prohlížeč nezná vlastnost box-sizing, už je to ale v pořádku.
« 1 2 »

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: