Mikor esedékes a mysql_query-ről mysqli_query-re átállás?
2013-09-10T11:26:37+02:00
2013-09-16T09:00:56+02:00
2022-07-23T06:12:22+02:00
  • Ha van 100 projected, ami összességében 60-70 féle libet használ erre, akkor már gázos átírni mindenhol. Valahol érthető a pánic, valahol meg ügye megérdemli, hogy soha egyetlen kódot se ír meg úgy hogy újrafelhasználhatná/újrafelhasználná.
    Egyébként egyet értek veled. Nemrég dolgoztam egy cégnél, ahol printf-el volt összerakva az összes insert és update. Élvezet volt dolgozni még egy tábla admin felületén is. Egy új mező beszúrása az adminon olyan 1-1,5 óra volt. Aztán mikor többször elhangzott hogy "fél óra alatt ügye kész van?", akkor már elkezdtem nézegetni az állásokat...
    Mutasd a teljes hozzászólást!
  • a CGI értelemszerű hátrányaival


    Gyanítom, azt érti alatta, hogy a cgi mégis csak külső technológiának van alárendelve. Ha php-ban van minden, és cipelni akarod, csak simán copy directory. Ha cgi-t is használtál, ami talán c++ -ban van, akkor újra kell fordítanod az új környezetben. Managed kódos alapon fejleszteni átlag ezért célszerű. Kell ugyan a háttér az új környezetben is, de mégsem fordítási problémákkal kell majd gyűrődni.
    Mutasd a teljes hozzászólást!
  • a CGI értelemszerű hátrányaival
    - ez alatt mit értesz?
    Szerinted mi jobb? Az Apache modulként való közös userrel futtatás?
    Mutasd a teljes hozzászólást!
  • Szerintem ha valaki procedurális mysql hívásokat használ 2013-ban az elég nagy probléma. Évek óta hal ki ez az irány, ott a PDO. Aki egy picit is törődik a kódjával és a modularitásával, az már rég kiszervezte az adatbázis hívásokat egy független osztályba (vagy függvényekbe). Nem is tudom hány éve már hogy én is így csinálom, elsőnek a "levegőben lógott" pár függvény amiket használhattam (INSERT, SELECT, UPDATE, DELETE) és egységesített értékekkel térnek vissza. Innentől kb mindegy milyen adatbázis van alatta. Aztán ezt kiszerveztem osztályba és statikusan elérem mindenhol, no problem. Ami viszont engem is aggaszt: a PEAR MDB2 csomagjáát használom ami szintén a mysql_* és mysqli_* függvényekre épít. Utóbbival nincs is bajom. Most az lesz a következő lépés hogy átírom ezt az egy(!) osztályt PDO-ra és kész is vagyok. No nem teljesen mert pl. a lapozóm is a PEAR-t használja, de annak a kis osztálynak az analógiájára meg fogom tudni írni a sajátomat. Tehát én azt javaslom mielőbb álljon át mindenki, akkor is ha nagy munka. Előre kellett volna tervezni nem utólag nyafogni. Engem nagyon bosszant mikor a spagettikódban van ezer mysql_* függvény. Mondjuk úgy: ha egynél több van pl. mysql_query-ből akkor ott tervezési hiba van. :) Mindenhol külön visszatérési értéket ellenőrizni, hibakeresni, debuggolni: ez így rémálom. Egy jól megírt adatbázis-réteg mindezt leveszi a válladról.
    Mutasd a teljes hozzászólást!
  • Inkább érdekességképpen (mert ez semmit nem bizonyít):
    Ismerek két szolgáltatót is, ahol projektenként (al)domainenként lehet változtatni a PHP verziót.
    Van egy main PHP verzió, az egyéb változatok pedig CGI-PHP-k (a CGI értelemszerű hátrányaival).
    Tehát bár kicsit félmegoldás, de viszonylag egyszerűen megoldható.
    Mutasd a teljes hozzászólást!
  • Szerintem nem is fogják frissíteni, hacsak nem annyira kevesen vannak már, akik még nem kérték át magukat egy újabb PHP-t futtató szerverre, hogy már nem éri meg miattuk nyűglődniük.

    Erre inkább a felhasználónak kell figyelnie, mert ügye ha átkéri magát egy 5.4-es PHP-ra (mert mondjuk letölti az aktuális joomlát egy új projekthez, vagy egy régit sorozatosan feltörnek és úgy dönt hogy upgradel), akkor a mellette lévő projekteket is frissíteni kell. Mert szerintem projektenként nem fogja tudni megválasztani a PHP verziót.
    Mutasd a teljes hozzászólást!
  • ahogy eddig is volt, deprecated errorok lesznek ha frissítik php-t.

    Mikortól várható az, hogy na, most dögöljön le a fél internet, nem támogatja a php a mysql_query hívásokat?

    Tud erről valaki valamit?

    Ez nem így megy :D
    A php verziót a szervereket üzemeltető szolgáltatók frissítik tehát vegyünk egy sima webtárhely szolgáltatót az neked email-t fog írni hogy baj van mert frissíteni fogjuk a php-t tehát használhatod már ezt is. De elérhetővé teszik hogy a régit is használd
    Mutasd a teljes hozzászólást!
  • Mondjuk ha én érintett lennénk (nem vagyok, nálunk csak Oracle van), már most elkezdeném írni azt a bizonyos mysql-kompatibility layert... Ha nagyon lelkes lennék, a sf.net-re tenném, hadd lássa mindenki;)

    PS: furcsállom, hogy nem találtam még ilyet... biztos rosszul gugliztam; kell legyen ilyen, ha nem is késztermék, de mint kezdeményezés biztos.
    Mutasd a teljes hozzászólást!
  • Néha mintha nem értenék, hogy ez már nem csak hobbiprojekt, hanem valós alkalmazások is vannak rajta... apró példa a htmlspecialchars encoding paramétere alapértelmezésének inkompatibilis megváltoztatása 5.4.0-ban.
    Mutasd a teljes hozzászólást!
  • Ha nem saját szerverre dolgozol, akkor először a mysqli támogatottságát kell lenőrzeni, mert régebbi szervereken nem érhető el.
    Illetve amit nem értek a PHP -ban, hogy régi dolgokat kivesznek, még opcionálisan se hagyják meg, így sok olyan funkció van ami régi oldalak igényelnek, és tárhely szolgáltató nem frissítheti az új verzióra (még a jelenlegi PHP 5.4 -re se), mert weboldalak ezreit tenné működés képtelenné.
    Így PHP 5.3 -nál a legtöbb tárhely szolgáltató meg is torpant, mert meglévő ügyfeleket nem akar elveszíteni.

    Szóval elméletben a PHP 5.5 verziónál érdemes elvégezni az átállást, gyakorlatilag lehet évek akár 1 évtized is, mire a megszűnő függvényekkel rendelkező oldalak már nem lesznek.
    Mutasd a teljes hozzászólást!
  • Értem a kérdést, de szerintem már a deprecated is azt jelenti, hogy sürgősen váltani kell róla nem pedig megvárni, hogy mikor kerül ki ténylegesen a nyelvből.
    Bár a mysqli közelebbi a mysql_ parancsokhoz, de én is inkább a PDO-t ajánlom a php alap db kezelő megoldásai közül.
    Mutasd a teljes hozzászólást!
  • Vagyis te úgy érted, hogy ők az 5.6.x-et értik ezen?

    Egyébként el lehetne gondolkodni egy kompatibility-layer-en, ami a mysqli függvényeivel valósítja meg a régi funkcionalitást.
    Mutasd a teljes hozzászólást!
  • Nem én, hanem ők. :)
    Mutasd a teljes hozzászólást!
  • Az 5.6.x-ot érted ezen?
    Mutasd a teljes hozzászólást!
  • Én asszem oda tettem (vagy ha nem én, akkor az admin), de mindenesetre oda szántam. Elnézést.

    Nekem a php.net es infó elég világos:



    This extension is deprecated as of PHP 5.5.0, and will be removed in the future.



    így kábé a következő PHP verzióban már nem lesz benne (szvsz). Ezzel annyi a baj, hogy iszonyat munka(m/nk) lesz, mivel ez nem egy olyan dolog, amit lenyomsz az ügyfél torkán, hogy, na, ez van, fizesse ki amit csinálsz. Ez szoftverkövetés, és meg kel csinálni 5-10-20 oldalnál ugyanúgy... Erkölcsileg legalábbis. Nem beszélve a karbantartott régi Drupal/Joomla stb oldalakról.

    Hajam égnek áll.

    Mutasd a teljes hozzászólást!
  • A fél internettel ne törődj, csak azzal a szolgáltatóval, akinél az oldalad van... ideális esetben adnak egy pár éves átállási intervallumot, ameddig mindkét lehetőség benne van a PHP-ben.

    Mondjuk szerintem ennek a társalgóban lenne a helye, és arra jó lenne, hogy az inkompatibilitásokról értekezzünk. (Egyébként a mysqli-ben sem kell feltétlenül objektumokat orientálni, megvannak a régihez hasonló, procedurális meghívási módok is.)
    Mutasd a teljes hozzászólást!
  • Nem tudok dátumokat mondani, csak megjegyzés: én inkább PDO irányba haladnék (már csak a nevesített paraméterek és a preparedstatement miatt is, nem is beszélve a támogatott adatbázisokról ugye).
    Mutasd a teljes hozzászólást!
  • "Amit tudni szeretnél, de soha nem merted megkérdezni..." típusu kérdés következik.

    Érdekelne, hogy mi lesz a későbbi szerver frissítésekkor a mysql_query-t használó oldalakkal? A Php.net-en már régóta a mysqli_querit ajánlják, és írva vagyon, hogy a régi parancs ki lesz vezetve, de azért ez nem egy echo vagy print szintű probléma...

    Mikortól várható az, hogy na, most dögöljön le a fél internet, nem támogatja a php a mysql_query hívásokat?

    Tud erről valaki valamit?

    Köszönöm.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd