Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- GoodSpeed: A RAMválság és annak lehetséges hatásai
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Mr Dini: Mindent a StreamSharkról!
- Brogyi: CTEK akkumulátor töltő és másolatai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Szólánc.
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
Új hozzászólás Aktív témák
-
válasz
lanszelot
#21710
üzenetére
1. Én ezeket a sorokat előre tenném, ugyanígy try..catch blokkba, csak egy másikba:
//file create or open if exist
$receptekData = new SQLite3("receptekdb.sqlite", SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
//error handling
$receptekData->enableExceptions(true);
$receptekData->query(
"CREATE TABLE IF NOT EXISTS 'receptek' (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
nev VARCHAR(100) NOT NULL
)"
);Mert ezek ugye kapcsolódnak az adatbázishoz, beállítják a kivételkezelést, és elkészítik a táblát, igazából ezeknek szerintem logikailag nincs közük ahhoz, amit te a feltételben vizsgálsz. Az egy másik történet.
Arról is nem is beszélve, hogy ha később szeretnél írni még egy INSERTET vagy bármit, akkor a $receptekData változódat, ami az SQLite kapcsolatot tárolja, nem fogod tudni elérni.2.
isset($_POST["submitNev"])!empty($_POST["nev"])A két feltételt én egybekötném ÉS-sel.
3. A lastInsertRowid-t én nem használnám. Egyetlen egyszer próbáltam használni PDO-nál MYSQL adatbázisnál (PDO::lastInsertId), akkor sem jött össze.
De ha használod, akkor olvasd el ezen az oldalon az első néhány commentet, ott azt írják, hogy ha tranzakciókat használsz (te pedig azokat használsz), akkor a COMMIT elé kell tenni a lastInsertRowid-t. Tehát próbáld meg így:$receptekData->exec('BEGIN');
$receptekData->query("INSERT INTO 'receptek' (nev) VALUES ('$nev')");
$id = $receptekData->lastInsertRowid(); //ennek az értéke nulla, pedig nem annyi
$receptekData->exec('COMMIT');"3.1.1 ott írják az sqlite oldalán a táblázatban."
Az csak egy example, egy példa

Az SQL és az SQLite saját SQL implementációja közti megfeleltetésekről.
De ott is írják, hogy "Note that numeric arguments in parentheses that following the type name (ex: "VARCHAR(255)") are ignored by SQLite - SQLite does not impose any length restrictions (other than the large global SQLITE_MAX_LENGTH limit) on the length of strings, BLOBs or numeric values."----------
Ha túl hosszú a kódod, szedd szét logikailag különálló fájlokra.
Új hozzászólás Aktív témák
- Samsung LCD és LED TV-k
- Google Pixel topik
- OLED TV topic
- Olcsó vs. drága egér: melyiknél érzed meg igazán a különbséget?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Asztalos klub
- Menekül a HEVC licencdíja elől a HP és a Dell
- Futás, futópályák
- PlayStation 5
- Xiaomi 15T - reakció nélkül nincs egyensúly
- További aktív témák...
- Apple iPhone 16 256 GB Black Apple Garancia Beszámítás Házhozszállítás
- EliteBook 860 16 G10 27% 16" FHD+ IPS i7-1365U 32GB 512GB NVMe ujjlolv IR kam gar
- Samsung Galaxy S24 8/128 GB Amber Yellow 6 hónap Garancia Beszámítás Házhozszállítás
- LG UltraGear 38GN950P-B Monitor! 38" 3840x1600 / 1ms / 160Hz / G-Sync / FreeSync! BeszámítOK
- Zenbook 15 UM3504DA 15.6" 3K OLED Ryzen 7 7735U 32GB 1TB NVMe IR kam gar
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ! AKRacing Arctica gamer szék
- iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4065, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Nagyakkus, mobilnetes - Dell Latitude 5330 i3-1215U 6mag! 16GB 1000GB 13.3" FHD 1 év gar
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


