Hirdetés
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
- 5.1, 7.1 és gamer fejhallgatók
- Háború Izraelben
- Asustor NAS
- Milyen házat vegyek?
- Proxmox VE
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- exHWSW - Értünk mindenhez IS
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Hogy is néznek ki a gépeink?
- SzDavid99: Van 20 perced? Akkor tanulj meg koreait olvasni!
- További aktív témák...
- ÚJ Bontatlan Apple iPhone 17 Pro 256GB Cosmic Orange ! 1 ÉV nemzetközi APPLE GARANCiA
- Dell Precision 3591 15.6" FHD IPS Ultra 7 165H RTX 2000 Ada 32GB 1TB NVMe gar
- - 73% A+ Thinkpad T14 / erős akku! gyárilag Magyar / 14" FHD / r5-4650u // 32/256G / +SZLA +GARANCIA
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 7 3700X / RTX 2070 Super / 32GB DDR4
- Precision 5560 15.6" FHD+ IPS i7-11850H RTX A2000 32GB 512GB NVMe ujjlolv IR kam gar
- Lenovo, Dell, HP, Panasonic Getac üzleti és ütésálló katonai laptopok + Ipad 6-13. gneráció
- BESZÁMÍTÁS! ASUS Z170 i7 6700K 16GB DDR4 512GB SSD GTX 1660Ti 6GB CooleMaster MasterboxMB 600 CM650W
- Újszerű! HP EliteBook 840 G7 i5-10210U 16GB 512GB FHD 400nit 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 5060 Ti 16GB GAMER termékbeszámítással
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest