Webmaster hogyan lehet létrehozni a webhelyén

PHP funkciók dolgozni MySQL

Tekintsük az alap PHP függvények használt dolgozni MySQL szerver.

kapcsolat, de a MySQL szerver

Mint azt bizonyára észrevetted, minden paraméterét ez a funkció nem kötelező, mivel az alapértelmezett értéket lehet a konfigurációs fájlban php.ini. Ha azt szeretnénk, hogy adja meg a nevét a másik MySQL-host, felhasználónév és jelszó, akkor mindig csinálni. $ Hostname paramétert lehet megadni a következő formában: host: port.

A függvény egy azonosítót (például int) vegyületek dalneyschih minden munkát végzik csak ezen keresztül azonosítója. Ha a következő hívás mysql_connect () függvény ugyanazokkal a paraméterekkel az új kapcsolat nem lesz nyitva, és a függvény visszatérési azonosítójának egy meglévő kapcsolatot.

Ahhoz, hogy zárja be a tervezett funkció mysql_close (int $ connection_id).

Általában a vegyület nem lehet közel - ez automatikusan bezáródik, amikor leállította a PHP script. Ha több, mint egy kapcsolat, hívás esetén mysql_close () meg kell adni a kapcsolat azonosítót szeretne zárni. Ne zárja le a kapcsolatot - a rossz stílus, akkor jobb, ha lezárja a kapcsolatot a MySQL magát, és nem támaszkodik az automatikus PHP, de ez a jobb.

Ha csak egy kapcsolatot a MySQL adatbázis az időben a script, akkor nem őrzi meg identitását, és nem adja meg azonosítóját hívás esetén egyéb funkciók.

mysql_connect () függvény kapcsolatot létesít a közönséges MySQL. Azonban a PHP támogatja az állandó kapcsolatok - az erre a célra mysql_pconnect () függvényt. Az érvek E funkció ugyanaz, mint a mysql_connect ().

Mi a különbség az állandó kapcsolat és egy közös kapcsolatot a MySQL? Állandó kapcsolat nincs lezárva befejezése után a forgatókönyvet, akkor is, ha a szkript, mysql_close () függvényt. A vegyület kötődik a PID leszármazottja Apache web szerver (akinek a nevében dolgozik) és zár csak akkor, ha folyamat-tartó eltávolítjuk (például üzemszünet vagy újraindul Apache web szerver).

PHP működik állandó kapcsolat, mint ez: hívásakor mysql_pconnect () függvény a PHP ellenőrzi, hogy a korábban megállapított kapcsolatot. Ha igen, akkor visszatér az azonosítót, és ha nem, akkor megnyílik egy új kapcsolat azonosítót és visszatér.

Az állandó kapcsolatok is jelentősen csökkenti a terhelést a szerveren, valamint növeli a sebességet a PHP szkriptek használni az adatbázist.

Ha tartós kapcsolatot meg kell győződnie arról, hogy a maximális számú ügyfél Apache preyvshalo nem a maximális számú MySQL kliensek, akkor MaxClient paraméter (az Apache konfigurációs fájl - httpd.conf) kisebbnek kell lennie vagy egyenlő, mint a paraméter max_user_connection (MySQL opció).

adatbázis kiválasztása funkció

mysql_select_db funkció (string $ db [, int $ id]) kiválaszt egy adatbázist, ami fut a PHP script. Ha nyitott és nem több, mint egy kapcsolat, akkor a paramétert $ id.

Hibák kezeléséhez

Ha van egy kapcsolat hiba MySQL, kapsz egy üzenetet, és a script befejezi a munkáját. Ez nem mindig kényelmes, különösen, ha a hibakeresés szkripteket. Ezért PHP a következő két funkciója van:

Az első függvény a hiba számát, és a második - egy hibaüzenetet. Ennek eredményeként, akkor használja a következő:

Most már tudni fogja, mert mi a hiba történt - akkor a következő üzenet jelenik megfelelően díszített.

Funkció lekérdezés az adatbázis szerver

Minden kérést, hogy a jelenlegi adatbázis küldött mysql_query () függvény. Ezt a funkciót kell átadni egyetlen paramétert - a szöveg a kérelmet. lekérdezés szövegét modet tartalmaz szóköz karaktert és új sor karakterek (\ n). A szöveg kell kidolgozni a szabályok szerint az SQL szintaxis. Példa kérés:

A fenti lekérdezés kell visszaküldenie a tábla tartalmát mytable. A lekérdezés eredménye van rendelve a változó $ q. Az eredmény - az adatgyűjtés, amely után a lekérdezés kezelendő egy bizonyos módon.

Funkció feldolgozás lekérdezés eredménye

Ha a kérelmet a mysql_query () függvény sikeres, az eredmény az ügyfél kap egy bejegyzéskészleten lehet feldolgozni a következő PHP függvények:

  • mysql_result () -, hogy a kívánt elemet a rekordok sorozataként;
  • mysql_fetch_array () - helyezni egy bejegyzést a tömbben;
  • mysql_fetch_row () - helyezni egy bejegyzést a tömbben;
  • mysql_fetch_assoc () - helyezni egy bejegyzést a asszociatív tömb;
  • mysql_fetch_object () - helyezni egy bejegyzést az objektumot.

Azt is meghatározza, a belépések száma, valamint mezők szereplő lekérdezés eredménye. mysql_num_rows () funkció lehetővé teszi, hogy egyszerre hány rekord tartalmazza a lekérdezés eredménye:

Vedd áll mezők (oszlopok). A mysql_num_fields () függvény segítségével megtudhatja, hogy hány mező minden rekord tartalmazza az eredményeket:

Mi is a lehetőséget, hogy megtanulják az érték az egyes területen. Ez történhet a következő funkciókat:

Funkcióparaméter $ row beállítja a rekordot, és a paraméter $ területen - a mező nevét vagy sorszám.

Tegyük fel, SQL-lekérdezés visszaadja a következő adatsor:

Vedd ki a böngésző az alábbiak szerint:

Meg kell jegyezni, hogy a mysql_result () függvény univerzális: ismerve a rekordok száma és több területen is „bypass” a teljes eredményt, de ugyanakkor, a sebesség ez a funkció meglehetősen alacsony. Ezért azt javasoljuk, hogy használja mysql_fecth_row () függvény kezelni a nagy sorozat feljegyzést. mysql_fecth_array (). stb

mysql_fecth_row funkció (int $ res) fogadja egyszerre az összes sor, hogy az aktuális rekord eredménye $ res. Minden ezt követő függvényhívásba mozgatja a mutatót a kérelmet a következő pozíció (mint amikor dolgozik fájlok), és megkapja a következő rekordra. Ha nincs több bejegyzés FALSE. Egy példa A funkció használata:

Ez sokkal kényelmesebb használni a mysql_fetch_array () függvény. amely visszaadja egy asszociatív tömb, amelynek kulcsok mezőnevek.

mysql_fecth_array funkció (int $ res [, int $ result_type]) nem tér vissza egy asszociatív tömböt, és a tömb, adja meg a választható paraméter $ result_type. amely a következő értékeket:

  • MYSQL_ASSOC - visszaadja egy asszociatív tömbben;
  • MYSQL_NUM - visszaadja egy tömböt numerikus alsó indexek, mint a mysql_fecth_row () funkció;
  • MYSQL_BOTH - visszaadja egy tömb dupla indexek, hogy van, akkor lehet dolgozni vele, mint az asszociatív tömb és egy combo (MYSQL_BOTH - ez az alapértelmezett érték a $ result_type.

A PHP függvény, amely visszaadja egy asszociatív tömböt egyetlen index:

Tény, hogy ez a funkció egy szinonimája a mysql_fetch_array ($ res, MYSQL_ASSOC).

Példa mysql_fecth_array használja () funkció:

Amint látható, használat mysql_fetch_array () funkció sokkal kényelmesebb, mint mysql_fetch_row ().

Funkciói eredményeivel kapcsolatos információkat az SQL-lekérdezések

PHP számos hasznos funkciók, amelyek lehetővé teszik, hogy megtalálják a megfelelő információt az eredményeket SQL-lekérdezések.

  • mysql_field_name funkció (int $ result, int $ offset) visszatér a területen, amely az eredmény $ eredményt a szám $ offset (0-nál kezdődik). Más szóval, a függvény nevét adja vissza a pályáról a számot $ offset.
  • mysql_field_type funkció (int $ result, int $ offset) visszaadja típusa mező száma $ offset eredményeként $ eredmeny (a szám van megadva, hogy az eredmény, nem a táblázatot);
  • mysql_field_flags funkció (int $ result, int $ offset) visszatér a hirdetést ki a résen zászló (módosítók), hogy rendelkezésre állnak a helyszínen a számot $ offset. Felsoroljuk az összes támogatott MySQL zászlók:

Mező nem tartalmazhatnak meghatározatlan érték (NULL), azaz mezőt kell kifejezetten inicializálni

Kapcsolódó cikkek