- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Pebble - az átgondolt okosóra
- One mobilszolgáltatások
- Így fotóz és ennyire melegszik a Galaxy S26 Ultra
- Vivo X200 Pro - a kétszázát!
- AirTag-riválist hoz Európába a Xiaomi
- Fotók, videók mobillal
- Babra megy a játék az iPhone 18 Pro esetében
- Vedd szemügyre a Poco X8-akat!
Ú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
- Hgst es seagate 500gb 2.5 hdd
- Hostpost.hu VPS és Webtárhely Bérlés
- Radeon Rx 6600XT/ I5 8400/ 16GB Corsair/ 1TB M2/ 128GB Sata SSD/ 500GB HDD/ Win11
- ÚJ Dobozos Lenovo Thinkpad T14s G6 Tartós Laptop 14" -60% Snapdragon 32/1TB FHD+ 20Hó Gar
- Bontatlan! Új Lenovo Thinkpad T14 G5 Tartós Üzleti Laptop 14" -45% Ultra 7 165U 16/512 FHD+ Magyar!
- ÚJ 20 méteres LED szalag adapterrel és távirányítóval eladó
- HIBÁTLAN iPhone 15 Plus 256GB-1 ÉV GARANCIA - Kártyafüggetlen, MS4529
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- NVIDIA ASUS TUF 3090, Gainward 3090, MSI VENTUS 3X 3090 24GB
- HP omen 17-w131ng bontva
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


