Sql - kérdések és feldolgozás segítségével php
SQL - lekérdezés és feldolgozás PHP
A folyamat kezelésére az adatbázis táblákat MySQL segítségével SQL lekérdező nyelv. Az SQL - egy rövidítés, és hogy „feltárja” - strukturált lekérdező nyelv.
A PHP nyelv erre a célra, van számos funkciót előtaggal „mysql”. Meg kell vizsgálni a kérések nem sokan. Funkció, amely nélkül nem lenne egyszerűen lehetetlen PHP végrehajtása SQL-lekérdezések:
Ez a funkció küld egy lekérdezést az adatbázisnak, és visszatér az esetben a sikeres kezelés erőforrás-azonosító.
Annak érdekében, hogy csatlakozni egy MySQL adatbázis, tegye a következőket:
$ Host = 'localhost'; // gépnév (megerősítendő a szolgáltató)
$ Adatbázis = 'db_name'; // adatbázis neve, akkor létre kell hozni
$ User = 'user_name'; // akkor adjon meg egy felhasználói nevet, vagy egy adott szolgáltató
$ PSWD = 'your_pass'; // Állítsa be a jelszót
$ DBH = mysql_connect ($ host, $ user, $ PSWD) or die ( "Nem lehet csatlakozni a MySQL.");
mysql_select_db ($ adatbázis) or die ( "Nem lehet kapcsolódni az adatbázishoz.");
Tehát a mysql_connect () - függvény kapcsolódni a MySQL szerver tárhely.
A mysql_select_db () kiválaszt egy adatbázist a szerver csatlakozik.
Más szóval, mi kapcsolódni a szerverhez, válassza ki az adatbázist, és elkezd dolgozni.
die () függvény esetén a hiba, és egy üzenetet jelenít meg a böngésző ablakban megadott.
Ahhoz, hogy állítsa le az adatbázist a funkció használható:
Amennyiben $ DBH - fogantyú, amely, ha csatlakozik vissza mysql_connect funkció.
Befejezése után a start felülvizsgálat kezdjük venni a tényleges SQL-lekérdezések.
Ehhez először létre kell hoznia egy adatbázist egy bizonyos nevet. És azt, hogy hozzon létre egy táblázatot is, különös név. Példáinkben fogunk hivatkozni my_sql_table asztalra. Ahhoz, hogy létrehozza ezt a táblázatot, nézzük teljesítsük localhost phpmyadmin a következő lekérdezést:
CREATE TABLE `my_sql_table` (
`Id` INT NOT NULL. // azonosítója a jövő táblázat bejegyzéseit
`Firstname` VARCHAR (50) NOT NULL, // szöveg VARCHAR mező
`Surname` VARCHAR (50) NOT NULL, // max 50 karakter
PRIMARY KEY ( `id`) // elsődleges kulcs - ID azonosító
);
Tehát a tábla jön létre. Végezze el az első kérelem, amely azonnal kiadja a PHP-kód:
$ Host = 'localhost'; // gépnév (megerősítendő a szolgáltató)
$ Adatbázis = 'db_name'; // adatbázis neve, akkor létre kell hozni
$ User = 'user_name'; // akkor adjon meg egy felhasználói nevet, vagy egy adott szolgáltató
$ PSWD = 'your_pass'; // Állítsa be a jelszót
$ DBH = mysql_connect ($ host, $ user, $ PSWD) or die ( "Nem lehet csatlakozni a MySQL.");
mysql_select_db ($ adatbázis) or die ( "Nem lehet kapcsolódni az adatbázishoz.");
$ Query = "SELECT * FROM` my_sql_table`";
$ Res = mysql_query ($ query);
míg a ($ sor = mysql_fetch_array ($ res))
echo "Szám:". $ row [ 'id'].”
\ N „;
echo "name:". $ row [ 'keresztnev'].”
\ N „;
echo "Név:". $ row [ 'névre'].”
\ N „;
>
Nézzük PHP-kódot firstsql.php fájlt. Kezdjük a tényleges lekérdezés az adatbázis táblák (DB).
$ Query = "SELECT * FROM` my_sql_table`";
Ezt a kérelmet lehet értelmezni: választani my_sql_table adatbázis tábla összes bejegyzés minden területen. Így a jel szó után a SELECT * jelentése „kiválasztásához mindent.” Így a kérelem képződik. Most végre kell hajtani:
Ha sikeres, a kérés mysql_query () függvény azonosítóját az erőforrás számunkra $ res.
Úgy van, hogy át paraméterként a mysql_fetch_array () függvényt. A neve ennek a funkciónak az magától értetődő. Ie generál, és kiadja a tömb egy minta alapján az adatbázis tábla. Esetünkben az asztalra áll tömb elemeinek száma egyenlő a rekordok (sorok) egy asztal és tartsa értékeit id, keresztnév, vezetéknév minden sorban. Ezért a következő kódot:
míg a ($ sor = mysql_fetch_array ($ res))
echo "Szám:". $ row [ 'id'].”
\ N „;
echo "name:". $ row [ 'keresztnev'].”
\ N „;
echo "Név:". $ row [ 'névre'].”
\ N „;
>
$ Query = "SELECT csaladnev FROM` my_sql_table`";
ez azt jelentené, hogy az összes kijelölt sorban csak keresztnev mező értékeket.
Ezért az előző kódot kell átírni:
$ Res = mysql_query ($ query);
míg a ($ sor = mysql_fetch_array ($ res))
echo "name:". $ row [ 'keresztnev'].”
\ N „;
>
Ha azt szeretnénk, hogy válasszon ki egy sort a táblázatban egy adott érték id, ahol a név (családi) van Petrov. akkor a lekérdezés újraírni az alábbiak szerint:
$ Query = "SELECT id FROM` my_sql_table` ahol névre = 'Petrov";
De ha meg kell tudni a nevét, aki számozott, például 5, a lekérdezés lenne:
$ Query = "SELECT eredetű FROM` my_sql_table` ahol id = 5";
Ebben az esetben, ha tudjuk, hogy a lekérdezés eredményének akkor csak egy sort a táblázatban. Ie nincs értelme szervezni ciklus segítségével egy darabig. És a hívás a következő lesz
$ Res = mysql_query ($ query);
$ Sor = mysql_fetch_row ($ res);
echo "Név öt ember a listán:" $ row [0] "\ n"; ..
Itt helyett mysql_fetch_array () alkalmaztuk mysql_fetch_row (). Ie megkapja a mező értéke (vagy mezők) egy adott sorban. Mivel a területen, mi volt egy - eredetű - tudunk hivatkozni egyetlen elem a tömb $ row mint $ row [0];.
Továbbá, mi nem csak lakik a kérelmek feldolgozását, figyelembe vesszük a legjellemzőbb példa a tényleges lekérdezések.
Így tartjuk a legjellemzőbb példa a MySQL lekérdezés. Megfontolás tárgyává kell alapul my_sql_table menetrend:
1. Táblázat hozzáadása my_sql_table middle_name mező (MI), miután a névre:
$ Query = „ALTER TABLE` my_sql_table` ADD` middle_name`
VARCHAR (50) NOT NULL UTÁN `surname`";
2. Vegye ki a névre területén my_sql_table táblázat:
$ Query = "ALTER TABLE` my_sql_table` DROP` surname`";
3. Törölje a rekordokat egy asztal neve my_sql_table Sidorov:
$ Query = "DELETE FROM` my_sql_table` ahol névre = 'Sidorov";
4. Amellett, hogy egyenlő jelek, például a „több” vagy „kevesebb”, van a „hasonló” a nyelv a MySQL lekérdezés. Válasszon egy felvételt my_sql_table asztalnál, ahol a nevek található „dor”:
$ Query = "SELECT * FROM` my_sql_table` ahol eredetű, mint a" %% dor";
Itt a jelenléte a „%” az elején és a végén a „dor”, és azt jelenti, hogy a lekérdezés megkeresi ez dor ", nem számít, ha az elején, végén, vagy a középső neve is van. Tekintsük a következő példát
5. Válasszon ki egy bejegyzést a táblázatból my_sql_table vezetéknévvel, ami kezdődik P. Megjegyzés a helyét „%”:
$ Query = „SELECT * FROM` my_sql_table` ahol eredetű like '% U'„;
6. Mi számítani a maximális értékét id:
$ Query = "SELECT MAX (id) FROM` my_sql_table`";
7. Mi kiszámításához a mezők száma my_sql_table vezetéknévvel, ami kezdődik P.
$ Query = „SELECT COUNT (*) FROM` my_sql_table` ahol eredetű like '% U'„;
8. Vegye my_sql_table táblázat:
$ Query = "DROP TABLE` my_sql_table`";
Mert lekérdezések 1-3 PHP egyszerűen végre a lekérdezést: