Hirdetés
- Milyen TV-t vegyek?
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- OLED monitor topic
- Mini-ITX
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen videókártyát?
- OLED TV topic
- Androidos tablet topic
Ú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
- Xbox Series X|S
- Autós topik
- Formula-1
- exHWSW - Értünk mindenhez IS
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- A fociról könnyedén, egy baráti társaságban
- Milyen TV-t vegyek?
- Brogyi: CTEK akkumulátor töltő és másolatai
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Macska topik
- További aktív témák...
- XBOX 360 + Kinect 500GB HDD + 2db. gyári kontroller 111db. játék telepítve
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / 32GB DDR3 / RTX 2060 6GB / 512GB SSD
- Abit alaplapos Tricod házas Retro számítógép 2004-ből és hardver csomag
- PS5 dualsense kontroller hibátlan
- 2 db Xbox One kontroller Venom akkuval
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3940, 100% Akku
- HP Elitebook 735 G6 13 3 FHD Laptop AMD Ryzen 5 Pro 16 GB RAM 512GB SSD 6 hónap garanciával
- Samsung Galaxy A56 5G / 8/256GB / Kártyafüggetlen / 12Hó Garancia / BONTATLAN
- ÚJ Microsoft Surface Laptop 7 13.8" 2K - 120Hz Érintő - Snapdragon X Elite - 16GB - 512GB-2 év gari
- Lenovo Thinkpad X13 Gen2 WUXGA IPS Ryzen5 Pro 5650U 16GB 512GB SSD Radeon RX Vega7 W11 Pro Garancia
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



