PHP MySQL OEM példák

Azt hiszem, itt az ideje, hogy növelje a tapasztalat, és megy, amikor dolgozik egy adatbázis mysql_ funkciók OEM. Ez a könyvtár egy erőteljes és gyors kívül a PHP. Egyik előnye - a munka sok adatbázisok (MS SQL MySQL PostgreSQL Oracle és mások ....). Ez is egy csábító jellemzője ennek a könyvtár készek kimutatások az úgynevezett előkészített utasításokat, ami felgyorsítja a munkát az adatbázisban, és ami a legfontosabb, hogy az adatok megosztását biztonságos és felejtsd el az ilyen sebezhetőség az SQL-enjection. Ezen kívül vannak más, nagyon hasznos funkció. Ebben a cikkben igyekeztem összegyűjteni a gyakran használt példa a művek, amelyek segítségével azonnal megérteni a munkát az OEM.

A PHP, három kiterjesztések dolgozni az adatbázis MySQL: mysql, mysqli és OEM. PHP OEM (PHP Data Objects) szereplő PHP 5.1 és újabb. Ahogy értem, abban a pillanatban, funkciók dolgozó adatbázis mysql_ nem javallott fejlesztési php_mysql megállt, hogy támogassa a funkcionális MySQL 4.1.3. és nem támogatja a tranzakciókat, alany és a tárgy felület kiaknázható helyettesítve értékek a lekérdezés. Miután mysql_ megjelent hosszabbító mysqli (MySQL Továbbfejlesztett verzió 5), amely támogatja az új funkciók a MySQL és alkalmazza a OPP szintaxist és eljárási programozás. Mindezek a könyvtárak a szabványos MySQL kliens könyvtár (libmysql). Ugyanebben a közleményben, nézzük meg az élő példa arra, hogyan működik a mysql, a legutóbbi bővítés - OEM.

OEM adatbázis kapcsolat

// példa vegyületeket OEM MySQL

$ Db = new OEM ( 'mysql: host = localhost; dbname = test'. $ Felhasználó $ pass.);

Ha megállapítható, sikeres kapcsolatot egy adott adatbázis szerver, akkor vissza az objektum OEM. Ez az objektum lehetővé teszi, hogy végezze el a különböző feladatokat adatbázisok.

Ha vannak kapcsolódási hiba, kivéve a mechanizmus működik - PDOException. Egy mindig csomagolja OEM műveletek a try / catch blokk. Meg lehet fogni, kivéve, ha azt szeretnénk, hogy kezeli a hibákat, vagy akkor hagyja, hogy a globális kivételkezelő (kivétel), hogy létrehozta a segítségével set_exception_handler (). Az OEM speciális funkciója van a hiba: errorCode () - visszaadja a hiba számát errorInfo () - visszaadja egy tömb hiba számát és leírását. Ezek szükségesek, mert az alapértelmezett üzemmód hibákkal kell ERRMODE_SILENT. Ebben az esetben, hogy ezek a hibák az ok:

echo $ kapcs -> errorCode ();

echo $ kapcs -> errorInfo ();

Ehhez a módban a fejlődés könnyebb csak állítsa be a kívánt üzemmódot hibákkal: ATTR_ERRMODE és ERRMODE_EXCEPTION. Azt is regisztrálni a kódolási munkát az adatbázissal. Ennek eredményeként, akkor kapnánk egy ilyen kapcsolat kód:

$ Db = new OEM ( "mysql: host = $ host; dbname = $ adatbázisnévre" $ user $ jelszó ..);

$ Db -> setAttribute (OEM :: ATTR_ERRMODE, OEM :: ERRMODE_EXCEPTION);

$ Db -> exec ( "set names utf8");

catch (PDOException $ e)

echo $ e -> getMessage ();

Miután sikeresen csatlakozott az adatbázishoz, OEM osztály példány visszakerül a forgatókönyvet. $ Db tartalmaz egy adatbázist kezelni. Kapcsolat aktív marad az egész élet PDO objektumot. A kapcsolat bezárásához, meg kell pusztítani egy objektum egy garancia arra, hogy az összes többi vonatkozó utalás is el kell távolítani. Ezt meg lehet tenni, ha kijelöli a változó, amely magában foglalja a tárgy, NULL értéket. Ha ezt nem teszi meg explicit módon, a PHP automatikusan lezárja a kapcsolatot befejezése után a forgatókönyvet.

Sok webes alkalmazások számára előnyös, hogy tartós kapcsolat az adatbázis szerverrel. Az állandó kapcsolatok nem zárják be a végén a forgatókönyvet, és tárolt és újra felhasználható, ha egy másik script kér kapcsolatot ugyanazokkal a hitelesítő adatokkal. Állandó kapcsolat csökkenti a forrásokat, hogy hozzon létre egy új kapcsolatot, valahányszor egy forgatókönyvet kell az adatbázis eléréséhez, ami gyorsabb webes alkalmazásokat.

$ DBH = new OEM ( 'mysql: host = localhost; dbname = test'. $ Felhasználó $ menetben array (..

OEM :: ATTR_PERSISTENT => true

Most, hogy láttad, hogyan kell megnyitni, és lezárja a kapcsolatot, nézzük meg más példát a munka OEM. Ebben az esetben fogom mutatni, hogyan kell a kéréseket, hogy egy adott adatbázishoz. Kérdések lehet tenni 3 funkció: exec (), query (), és előkészíti + végrehajtani.

Először - exec visszatér csak az érintett sorok száma, vagy FALSE hiba, és használják, ahol nincs visszatérés adatokat, például amikor kiveszi:

Kapcsolódó cikkek