A 4 Alapművelet (CRUD)
Bár a phpMyAdmin felületén mindent meg lehet csinálni kattintgatva, a PHP kódod nem tud egeret használni. A PHP-nak egy speciális nyelven kell "beszélgetnie" az adatbázissal. Ez a nyelv az SQL (Structured Query Language).
A világ összes webes rendszere (a Facebooktól a legkisebb blogig) négy alapvető adatbázis-műveletre épül. Ezt a programozásban CRUD-nak hívjuk (Create, Read, Update, Delete).
1. CREATE (Létrehozás) - Az INSERT INTO parancs
Amikor egy új felhasználó regisztrál az oldaladon, egy új sort kell beszúrnunk a táblába. Erre való az INSERT INTO parancs.
INSERT INTO felhasznalok (keresztnev, email, jelszo)
VALUES ('Péter', '[email protected]', 'titkos123');
Magyarázat: Megmondjuk, melyik táblába (felhasznalok), melyik oszlopokba akarunk írni, majd a VALUES után megadjuk a konkrét értékeket, pontosan ugyanolyan sorrendben. (Az ID-t nem kell megadni, mert az automatikusan generálódik).
2. READ (Olvasás) - A SELECT parancs
Ez a leggyakrabban használt SQL parancs. Ezzel kérdezzük le az adatokat, hogy megjeleníthessük őket a weboldalon.
/* Lekéri az ÖSSZES oszlopot (*) az összes felhasználótól */
SELECT * FROM felhasznalok;
/* Csak a neveket és az emaileket kéri le */
SELECT keresztnev, email FROM felhasznalok;
A szűrés: A WHERE záradék
Ritkán akarjuk az egész adatbázist letölteni. Ha csak egy konkrét felhasználót keresünk (például bejelentkezéskor), a WHERE (ahol) szócskát használjuk.
SELECT * FROM felhasznalok WHERE email = '[email protected]';
3. UPDATE (Módosítás) - A fejlesztők rémálma
Ha egy felhasználó meg akarja változtatni a jelszavát, az UPDATE parancsot használjuk.
UPDATE felhasznalok
SET jelszo = 'uj_titkos_jelszo'
WHERE id = 1;
Kritikus hiba: Ha az UPDATE parancsból kifelejted a WHERE feltételt, a rendszer az adatbázisban lévő összes felhasználó jelszavát átírja erre az egyre! Ez a kezdő fejlesztők leggyakoribb és legfájdalmasabb hibája.
4. DELETE (Törlés)
Ha egy felhasználó törli a fiókját, a DELETE parancsot használjuk. Itt is életbevágóan fontos a WHERE használata!
DELETE FROM felhasznalok WHERE id = 1;
Ha csak annyit írsz, hogy DELETE FROM felhasznalok;, az egész táblád tartalma azonnal és véglegesen megsemmisül.