Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- GoodSpeed: Márkaváltás sok-sok év után
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- VHS digitalizálás
- ldave: New Game Blitz - 2025
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 3. rész
Új hozzászólás Aktív témák
-
válasz
urandom0
#21690
üzenetére
Egyébként még mindig azt gondolom, hogy túl gyorsan akarsz haladni, de ez nem így megy. Egészen a múlt hétig nem voltál tisztában olyan alapfogalmakkal, hogy mi a PHP kimenete, de közben receptes appot írsz.....
Nade mindegy is, hagyjuk. Próbálok segíteni.Szóval, van a webszerver, ami nálad Apache (de lehetne nginx, lighthttpd, caddy, stb., sok van). Annak van egy modulja, a PHP, ami a PHP kódot végrehajtja, és elkészíti a PHP kimenetet, amit visszaad az Apache-nek, majd az Apache ezt berakja a HTML dokumentum megfelelő helyére, és kiküldi a kliensnek (a böngésződnek).
És van egy különálló adatbázis program, a te esetedben az SQLite3, amit SQL nyelven lehet kezelni.Csakhogy a PHP-t és az SQLite3 adatbázis programot valahogy össze kell, hogy együtt tudjanak dolgozni, és hogy tudd a PHP-ból az SQL-t használni. Erre valók a PHP SQLite3 függvényei (pontosabban osztálya).
Eddig gondolom minden világos.Nézzük ezt a tutorialt: https://brainbell.com/php/sqlite.html
Kezdjük onnan, hogy "Create or Open SQLite Database".<?php
$db = new SQLite3('brainbell_db.sqlite');
echo 'Connected to the database.';
$db->close();Ez a három sor mit csinál?
Készít egy új SQLite3 objektumot, amit visszaad a $db változóba. Az objektum konstruktorának egyetlen paramétert ad át, azt, hogy "brainbell_db.sqlite", ez lesz az új adatbázisfájlunk neve. Az SQLite3 osztály ennek megfelelően elkészíti az adatbázist.
Utána jön egy echo, amelyben kiírja, hogy 'Connected to the database.', végül az utolsó sor lezárja az adatbáziskapcsolatot.Namost itt jó lenne tudni, hogy miért kell lezárni a kapcsolatot, egyáltalán mi ez a kapcsolat, mi az osztály, mi az objektum, mi a metódus, mi a konstruktor, stb. Erről most csak annyit írok, hogy a kapcsolat azért kell, mert az adatbáziskezelő program (adatbázisszervernek vagy angol rövidítéssel RMDBS-nek szokás hívni) egy, a PHP-tól különálló program, amihez valahogy kapcsolódnunk kell. A végén pedig azért kell lezárni, hogy a kapcsolathoz lefoglalt erőforrások fel tudjanak szabadulni.
Menjünk tovább.
Creating a Table in SQLite DB
<?php
try {
$db = new SQLite3('brainbell.db');
$db->query('CREATE TABLE IF NOT EXISTS user_table
(name, email, UNIQUE (email))');
echo 'Table Created';
$db->close();
}
catch (Exception $e) {
echo $e->getMessage();
}Nem feltételezem rólad, hogy a try..catch szintaktikával tisztában vagy

Pedig jó lenne. Na mindegy, nézzük a lényeget:$db->query('CREATE TABLE IF NOT EXISTS user_table (name, email, UNIQUE (email))');Mit csinál ez a sor?
Meghívja az imént létrehozott $db objektumunk query metódusát, és átad neki egy stringet, ami egy SQL lekérdezést tartalmaz. Ha ezt meg tudod csinálni, akkor gyakorlatilag mindent meg tudsz csinálni (még ha nem is tökéletesen).Nézzük meg ezt az SQL lekérdezést, vajon mit csinálhat?
CREATE TABLE IF NOT EXISTS user_table (name, email, UNIQUE (email))Ez arra utasítja az RMDBS-t, hogy hozzon létre egy táblát (ha még nem létezik) user_table néven, aminek legyen kettő mezője, name és email. Az email mezőt egyedi kulcsnak (unique key) állítja be, ami azt jelenti, hogy nem lehet két azonos e-mail című rekord a táblában (ez logikus is, hiszen két felhasználónak nem lehet azonos e-mail címe). Ezt az SQLite szépen le fogja kezelni, hibát fog dobni, ha két ugyanolyan e-mail címet akarsz bevinni.
Innen nem megyünk tovább, hanem szépen megnyitjuk a W3C SQL tutorialját, mert abban bizony benne van az, hogy kell adatokat módosítani ill. törölni.
Adatok módosítására az (egyik) módszer az SQL UPDATE eljárása: https://www.w3schools.com/sql/sql_update.asp
Adatok törlésére pedig a DELETE eljárás: https://www.w3schools.com/sql/sql_delete.aspHa valami nem tiszta, kérdezz.
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- alza vélemények - tapasztalatok
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Luck Dragon: Asszociációs játék. :)
- Projektor topic
- iPhone topik
- Vezetékes FEJhallgatók
- Építő/felújító topik
- Black Friday november 29. / Cyber Monday december 2.
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Játékra vagy Munkára! Csere-Beszámítás! I7 3930K / Nvida GTX Titan X / 16GB DDR3 / 500GB SSD!
- Asztali PC , R7 5800X , RTX 3070 Ti , 32GB DDR4 , 256GB NVME , 2TB HDD
- Apple watch Series 10 46mm új 1 év Apple jótállás
- ASUS ROG STRIX G17 (2022) gamer laptop
- Asztali PC , R7 2700X , RTX 2070 , 16GB DDR4 , 250GB NVME , 1TB HDD
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
- GYÖNYÖRŰ iPhone 13 Mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3822, 100% Akkumulátor
- BESZÁMÍTÁS! ASRock Fatal1ty Z97 Killer alaplap garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone X 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3586, 100% Akkumulátor
- Keresek Zebra TC20 TC21 vagy valamilyen hasonló kaliberű 1D és 2D vonalkódok olvasására alkalmas pda
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


