Aktív témák
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2123
üzenetére
Tehát az eredeti állításom, miszerint a query-k konkatenálását az IN-jellegű lekéréseknél nem úszod meg, igaz.
A megvalósítás viszont megint más kérdés, ez is tény. A "behelyettesítés" meg valóban úgy a "biztonságos", ahogy írod. Bár ha valakinek van némi fogalma az adatbázis-lekérésekről, az remélhetőleg nem fog így se-úgy se escape-eletlenül hozzáfűzögetni semmit. 
-
cucka
addikt
válasz
Peter Kiss
#2123
üzenetére
Szerintem ha alacsony szinten akarod kezelni az adatbázist (tehát query-ket akarsz összerakni), akkor jó a PDO meg bármi más. Ha magas szinten akarod kezelni, akkor meg beizzítasz egy ORM-et.
Amit te szeretnél csinálni, az az, hogy becsomagolod a PDO-t, mert így talán szebb lesz. Nem lesz az, mert amit leírsz, az csak szintaktikai varázslat, nincs neki túl sok funkcionális haszna. Ezernyi hasznosabb dolgot tudnék mondani, mint megírni a hatszázezredik php-s adatbázis wrapper osztályt. -
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2121
üzenetére
"közben kiegészítem a query-t ?-ekkel (nem használok nevesített paraméterek), majd elrakom a tömböt. Végrehajtáskor már megvan a kész query"
Tehát akkor kénytelen vagy konkatenálni a query-t, ugye?
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2119
üzenetére
Hogyan használod? Pont erre lennék kíváncsi.
Nálam a sima implode-os prepared statementes átadás rosszul működik, nem adja vissza azt az eredményhalmazt, amit várok, és amit akkor ad vissza, ha simán lefuttatom a query-t, megadott id-kkel. -
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2117
üzenetére
Ki is próbáltad az IN-nél?
Én csak kerülő megoldásról tudok, ahogy itt írják:select users.id
from users
join products
on products.user_id = users.id
where find_in_set(cast(products.id as char), :products)Itt a
find_in_set(cast(products.id as char), :products)
a lényeg, feltételezem, ez jóval lassabb, mint egy "rendes" IN...localhoston gyorsan tesztelve az előbbi 0.0276 másodperc, míg a "normál" IN 0.0008 másodperc, ami azért igen jelentős különbség azt tekintve, hogy összesen 4 sor van a teszttáblámban. Óriásira nőtt adatbázisnál szerintem ez elég durva különbségekhez vezethet!
==
"Egyébként szerintem van értelme pl. PDO köré is wrapper-t írni, mert nagyon ocsmányul néz ki."
Mi a baj vele?"Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni."
Array-t is átadhatsz az execute()-nak. -
FlashPlayer
tag
válasz
Peter Kiss
#2097
üzenetére
jogos! Már minden oldalt néztem, de ezt nem
köszi. -
Lacces
őstag
válasz
Peter Kiss
#2045
üzenetére
Lehet ez ilyen MySQL specifikus dolog lehet.
Sem sima SQL alapoknál sem MSSQL-nél nem találtam kapcsoló táblákra vonatkozó dolgot.
Lehet egy MySQL-s könyvet is át kell forgatnom

Én simán össze JOIN-olom az összeset ami kell. (3. normálformában lévő táblákat is)
Én egy picit feleslegesnek találom a kapcsoló táblát. Ado.net-nél sem tapasztaltam még ilyet. Nekem ez tényleg új.
-
fazr
senior tag
válasz
Peter Kiss
#2039
üzenetére
Miért és miben jobb a PDO a mysqli-től? (kérdezem ezt kezdőként)
Tegyük fel csak mysql-t akarok használni.
-
cAby
tag
válasz
Peter Kiss
#2028
üzenetére
A kereséshez szükséges adatok a táblából:
CREATE TABLE IF NOT EXISTS `szallasok` (
`azonosito` int(11) NOT NULL AUTO_INCREMENT,
`szallas_nev` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
`helyseg` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
`tipus` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
`tipus_kereses` varchar(15) CHARACTER SET utf8 NOT NULL,
`ellatas_rovid` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
`ellatas_rovid_kereses` varchar(15) CHARACTER SET utf8 DEFAULT NULL);@SektorFlop: Érdekes felvetés, hogy először kérjek le mindent és aztán szűrjek. Köszi a tippet, megnézem.
Bár gyanús, hogyha így nem jó, akkor úgy sem lesz az.Most amúgy az a baj, hogy ha bekattintom h apartman + reggeli, akkor kidobja az apartmant, de reggelivel, félpanzióval és teljesellátással is. De nem értem, hogy miért.
-
retrox
csendes tag
válasz
Peter Kiss
#2001
üzenetére
OK.Elfogadom.Csak azt mondjátok meg nekem,hogy érem el,hogy mondjuk óránként frissíti a mysql ezt:
UPDATE e107_user_extended SET user_kora=floor(DATEDIFF(now(),user_birthday)/365.2425); -
Peter Kiss
őstag
válasz
Peter Kiss
#1636
üzenetére
Megoldotta az, hogy a connection.php-be beírtam ezeket:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
Aktív témák
- AOC 27G4XED FHD/IPS/180HZ (056)
- AOC 25G3ZM FHD/240HZ/0.5MS (055)
- Üzletből, Hp gyártói garanciával, HP EliteBook 840 G11 ultra 5-125u/16GBRAM/512GBSSD/HULLHD+ kijelző
- ÚJ Bontatlan Apple MacBook Neo 13" A18 Pro 8GB/256GB magyar billentyűzet 1 év Garancia Deák Térnél.
- SAPPHIRE INCA EP-10 GPU szerver ÜRESEN/kártyákkal
- Lenovo ThinkPad E15 Gen 2 15,6" - i7 1165G7, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Sosemhasznált! HP OmniBook 5 Flip i5-1334U 16GB 512GB 14" áthajtós-érintős FHD+ Gar.: 1 év
- Shining3D EinScan Pro 2X 3D szkenner
- Honor 200 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- NEC MultiSync V422 42" Monitor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
A megvalósítás viszont megint más kérdés, ez is tény. A "behelyettesítés" meg valóban úgy a "biztonságos", ahogy írod. Bár ha valakinek van némi fogalma az adatbázis-lekérésekről, az remélhetőleg nem fog így se-úgy se escape-eletlenül hozzáfűzögetni semmit.
köszi.
