Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Egy bihari a Hajdúságban
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Gurulunk, WAZE?!
- Lalikiraly: Kinek milyen setupja van?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
Ú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
- Automobilista 2
- Notebook / laptop alkatrészek cseréje (processzor, RAM, HDD)
- PlayStation 5
- Sweet.tv - internetes TV
- Futás, futópályák
- Apple asztali gépek
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- A legolcsóbb és a legdrágább új iPhone fogy a legjobban
- Battlefield 6
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Macbook Pro 16" M4 pro - 2024, 14/20 mag, 32/512GB, - Apple garancia (105)
- Eladó Lian Li Lancool II PC ház Mesh átalakító kittel!
- iPhone 15 Pro - 256 gb, titán kék, független, 90%-os akkumulátor
- Lenovo T490 i5- 8265u /16Gb DDR4 / 512Gb Nvme SSD /400 nit IPS full HD / kamera
- Xbox Series X 1TB konzol szép állapotban, dobozában, 2 játékkal és extrákkal
- LG 50QNED85T3A / QNED / 50" - 127 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Designer 4K Monitor - BenQ PD-2700-U
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green - 1 ÉV GARANCIA, Kártyafüggetlen, 95% Akkumulátor,MS2148
- Bomba ár! Dell Vostro 3560 - i3-3120M I 8GB I 320GB I DVDRW I 15,6" HD I HDMI I Cam I Garancia!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


