- Megjelent az iOS 17.4, minden idők egyik legfontosabb iPhone-frissítése
- DIGI Mobil
- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- Android alkalmazások - szoftver kibeszélő topik
Hirdetés
-
Nyár végén jön az idei THQ Nordic Digital Showcase
gp Az új bejelentések mellett újabb részleteket kapunk a Gothic Remake-ről és a Titan Quest II-ről is.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Kapnak egy rakás reklámot a Roblox játékosai
it Videohirdetésekre készülhetnek ezentúl a virtuális világokban a Roblox játékosai.
Új hozzászólás Aktív témák
-
PazsitZ
addikt
válasz InfiniteReality #1049 üzenetére
Pedig kell lennie valamilyen eredménynek, legalábbb egy hibaüzenetnek vagy valami.
Ha valami hibát is közölsz, talán tudunk segíteni.- http://pazsitz.hu -
-
InfiniteReality
őstag
válasz PazsitZ #1051 üzenetére
Kell vagy nem, egy if (mysql_affected_rows() >0) paranccsal le van kezelve, hogy van-e a lekérdezésnek eredménye. Az első hozzászólásomban lévő mindkét lekérdezésnek van eredménye, az egyik jó, a másik hibás. Amiket beirtatok azoknak pedig nincs eredménye, de hibát sem okoznak...
http://logout.hu/cikk/samsung_led_tv_tudastar_d_szeria/alapok.html
-
PazsitZ
addikt
válasz InfiniteReality #1052 üzenetére
Amennyiben csak elírás, akkor vedd semmisnek a következőket:
Select művelet eredményéről beszélünk. a mysql_affected_rows INSERT, UPDATE, REPLACE or DELETE parancsok esetén adja vissza az érintett sorok számát. Ez SELECT esetén mindig 0 értéket ad vissza.
Ilyen esetben (SELECT) a mysql_num_rows parancs adhat valós értéket.- http://pazsitz.hu -
-
InfiniteReality
őstag
válasz PazsitZ #1053 üzenetére
Biztos csak elírás annak a részéről, aki ezt leírta. Vagy régi php/mysql verzióra vonatkozik (nálam mindkettőből 5-ös van).
Szinten mindenhol lecseréltem a num_rows-t affected_rows-ra és működik.Ez működik:
SELECT jatekos, sum(pont) FROM jateklista WHERE pont >='1' GROUP BY jatekosl ORDER BY 2 LIMIT 50Utána egy if mysql_affected_rows() > 0 van annak eldöntésére vannak-e eredmények vagy sem. Ezzel a paranccsal (és egyben lévő adatbázissal) bemegy abba az ágba, ahol ki kell írni az eredményeket.
(SELECT jatekos, sum(pont) FROM jateklista2005 WHERE pont >= '1' GROUP BY jatekosl) UNION (SELECT jatekos, sum(pont) FROM jateklista2006 WHERE pont >= '1' GROUP BY jatekosl) ORDER BY 2 DESC LIMIT 50
Ez az évekre szétdarabol adatbázisra készült és működik, de nem a várt eredményt hozza, nem azt amire szükségem lenne.
http://logout.hu/cikk/samsung_led_tv_tudastar_d_szeria/alapok.html
-
martonx
veterán
válasz wolandino #1043 üzenetére
megismerve a feladatot, ez egy darab táblával kényelmesen megoldható.
Oszlopok:
azonosító, szülő, értékÉs pl. így nézne ki egy-egy sor:
1, 0, élőlény
2, 1, állat
3, 1, növény
4, 2, tigris
5, 2, krokodil
6, 3, pálma
7, 3, ibolyaAz első legördülő mezőben megmutatod az élőlényt
A másodikban állat, vagy növény.
Ez alapján a harmadikat feltöltöd az 2-es vagy a 3-as szülőjű tételekkel.
Ráadásul elég csak a legutolsó választást letárolnod pl. 6. Ebből visszakereshető, hogy a választott érték pálma, ennek a szülője a növény, ami pedig az élőlényekből származik.Én kérek elnézést!
-
InfiniteReality
őstag
válasz InfiniteReality #1042 üzenetére
Megoldottam úgy, hogy csak racionalizáltam a mezőket és minden mezőhöz megfelelőbb adattípust választottam, mint ami eddig volt (ezzel 1 mb-tal kevesebb lett a tábla mérete), illetve az olyan mezőkről amikre nem irányul sok lekérdezés illetőleg kevésbé befolyásolják a végeredményt, levettem az indexet (eddig minden mezőn volt index, ami miatt a beírás volt lassabb).
Lényeg, hogy végül hagytam az egész táblát egyben, nem csaptam szét évekre, mert a lekérdezés több erőforrást igényelt volna ha sikerül rendesen megírni, mint az, hogy a tábla egyben van. Olyan 162 ezer sora van jelenleg az érintett táblának.http://logout.hu/cikk/samsung_led_tv_tudastar_d_szeria/alapok.html
-
Jim-Y
veterán
Sziasztok, létre szeretnék hozni phpmyadmin alatt mysql-ben egy adatbázist 4 táblával. A kérdésem a következő:
1. tábla -> range_desc_id
2. tábla -> range_desc_id
ezeket szeretném összekapcsolni, hogy lehet ezt megcsinálni amikor létrehoztam a táblákat, de még nincs adat bennük?Mert az oké, hogy utána lekérdezésnél WHERE table1.range_desc_id=table2.range_desc_id, de ezt nem kell összekötni az adatbázisban valahogy? üdv
-
Lortech
addikt
Ha 1 - több kapcsolat van a két tábla között, akkor a kapcsoláshoz nem kell több.
A child/detail táblában felveheted még foreign keynek a mezőt, tudsz constraintet is definiálni hozzá, amely megakadályozza, hogy a child táblában létrejöjjön rekord megfelelő parent/detail nélkül, illetve meghatározhatod, hogy mi történjen, ha a parent táblában módosul vagy törlődik az adott kulcsú rekord. Storage engine-től függ, hogy támogatja-e az FK-t, InnoDB támogatja csak.Thank you to god for making me an atheist
-
wolandino
tag
SELECT data_connections.connection_id, NULL AS isTree
FROM `data_connections`
UNION
SELECT data_connections.connection_id, data_trees.connection_id AS isTree
FROM `data_connections`
JOIN data_trees ON data_trees.connection_id = data_connections.connection_idVan ez a lekérdezésem, ami jól is működik, azt is adja amit kell.
Az lenne a kérdésem, hogy nem lehetne-e valahogy legyszerűsíteni?
egy olyan "join" kellene nekem, amiben ha egy connection_id nem található meg a connection_tree-ben, akkor null-ot ad vissza....segítségnek itt van a lekérdezés eredménye:
connection_id isTree
1 NULL
5 NULL
7 NULL
1 1 -
Jim-Y
veterán
válasz Lortech #1058 üzenetére
Köszi a választ
Lenne még egy kérdésem, kaptam egy sql dump filet, amit szeretnék betölteni phpmyadmin-ba, de insert után azt írja, hogy a file túl nagy, és nem tudja betölteni. Nekem csak a tábla szerkezetére lenne szükségem, valami ötlet, hogy hogyan tudnám használhatóvá tenni fájlt? 38.5mb-os...
-
martonx
veterán
"a gépemen xampp van csak" - ezek szerint saját gépen fut a mysql??? Ez esetben kérlek, a saját érdekedben tegyél fel egy Toad for MySql-t, a phpmyadmin-t meg hagyd meg a vérpistikéknek, vagy azoknak a szerencsétleneknek, akiknek nincs elérésük a hosting környezet mysql-éhez, mégis éles környezetben kell mókolniuk az sql-ben.
Én kérek elnézést!
-
Jim-Y
veterán
válasz PazsitZ #1065 üzenetére
a mysql nem egy felismerhető parancs:/
martonx: nincs elérésem a hosting mysqljéhez, itthon kell lokális gépen megírnom a programot, amit majd átportolok az éles környeztbe, egyszer...ezért szenvedek az xampp-al, meg a phpmyadminnal ami egyébként egy bughalmaz szerintem, de nincs jobb ötletem:S A fejlesztés szempontjából kénytelen vagyok itthon futtatni egy apachot és egy mysql-t, hogy úgy tudjam írni a programot..:/
-
Jim-Y
veterán
válasz martonx #1070 üzenetére
Nem, ez egy létező sql-ből készített (exportált) .sql file, amit megkaptam, hogy ebből majd rá fogok jönni, hogy hogy épül fel az adatbázis/tábla. Ezért szeretném ezt megnyitni, gondoltam beimportálom phpmyadmin-ba, és ott majd megnézem, lehet akkor le kéne szednem egy third party SQL viewert? Mondjuk az sem oldja meg azt, hogy én kóddal, ebből az adatbázisból ki szeretnék majd nyerni adatokat, tehát mindenképp be kéne valahogy töltenem egy adatbázisba :/
Más:
van egy ilyen php kódom:
$htmlcontent = file_get_contents($html_path);
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
unlink($html_path);
echo $htmlcontent;A $htmlcontent-ben van egy cca 2-300 karakter hosszó szöveg, ezt szeretném feltölteni az adatbázisba, mégpedig a description mezőbe, ami longtext tipusú. A query lefut, és majdnem mindent megfelelően tölt fel, csak a descriptiont nem, csak 5 karakternyit tölt be a mezőbe valamiért utána kiirattam php oldalon a $htmlcontent-et, de abban szépen benne van a szöveg, tehát az adatbázis szarakszik valamiért, és nem tudok rájönni, hogy miért:/
-
martonx
veterán
Nem értelek. Minden adott a problémád megoldásához, a megoldásokat leírtam/leírtuk, de te nem csinálod meg. Mit vársz tőlünk? Menjünk át hozzád, és helyetted rakjunk fel egy Toad for Mysql-t, majd rakjuk fel az sql dumpot a lokális gépedre, és szépen nézegessük át veled az egészet? Majd magyarázzuk el, és simogassuk meg a buksidat?
Én kérek elnézést!
-
Jim-Y
veterán
válasz martonx #1072 üzenetére
Nem..ne haragudj, de lehet ami neked már evidens, az nekem még új, mivel ezekkel most találkozom először. Nekem úgy jött le, hogy a Toad for Mysql-t akkor kéne felraknom, ha van eléres a tényleges hosthoz, oda töltöm fel az adatbázist, és a TfM-el azt szerkesztem a saját gépemen. Mivel nem használtam még, ezért nekem az most csak egy név, jelentés nélkül, és igen, mivel teljesen kezdő vagyok, ezért tanácstalan is Na de akkor felteszem..
-
Sk8erPeter
nagyúr
"Más" utáni részre reagálva:
A PDO exec() függvényét használod itt? Vagy ez saját wrapper osztály?
Ha a PDO-é, akkor azonnal felejtsd el, hogy exec() metódus használatával közvetlenül beleraksz felhasználótól érkező adatot. Meg nem ártana, ha kivételeket kezelnél.
Nem is értem, pont az a lényege a PDO-nak, hogy szépen lehet vele az adatokat kezelni, prepared statementeket lehet vele használni, így escape-elgetni sem kell a karaktereket, épp ez az egyik legjobb benne, de a másik pedig az előkészített query által megvalósítható szép kód - nincs szükség okádék string-összefűzögetésre, mint - bocs - a Te kódodban.Tele von Zsinór kolléga a PHP topicban belinkelte a saját cikkét a témában, ami elég jól összefoglalja a dolgot:
http://maerlyn.eu/2011/12/03/pdo.htmlTehát
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
FELEJTŐS, HELYETTE:$dbh = NULL;
try {
// felhasználónév, jelszónál saját adat behelyettesítendő
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "root", array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// ..............
$sth = $dbh->prepare('INSERT INTO offers (offer_id,description,images) VALUES (:offer_id, :description, :images)');
$sth->bindParam(':offer_id', $provider_id, PDO::PARAM_INT);
$sth->bindParam(':description', $htmlcontent, PDO::PARAM_STR);
$sth->bindParam(':images', $_FILES['uploaded_image']['name'], PDO::PARAM_STR);
$sth->execute();
echo 'Úgy tűnik, minden OK.';
}
catch (PDOException $err) {
echo 'Hiba: ', $e->getMessage();
}
catch (Exception $e) {
echo 'Másik hiba: ', $e->getMessage();
}Itt feltételeztem, hogy az offer_id egy INT.
Meg természetesen a kivételeket inkább naplózni kéne, és felhasználóbarát üzeneteket kiírni.Ja, és a fentivel nagy eséllyel kerülhető el az általad említett probléma.
Legalábbis remélem. Majd írd meg, mire jutottál.Sk8erPeter
-
Jim-Y
veterán
válasz Sk8erPeter #1074 üzenetére
Ohh, egyébként az exec-et már korábban átírtam prepare-re, de tény, hogy attól a paramétereket ugyanúgy beleírtam a query-be -.- Kivételt nem kezeltem, de otthon majd átírom ilyenre, remélem megoldódik ilyen módszerrel, mert akkor ezzel több dolgom már nincs
Este tudom kipróbálni, majd megírom, hogy ez megoldotta-e a problémát.
-
Sk8erPeter
nagyúr
"egyébként az exec-et már korábban átírtam prepare-re, de tény, hogy attól a paramétereket ugyanúgy beleírtam a query-be"
Akkor esélyes, hogy ez volt a gond egyik okozója.
OK, majd írd meg, mi lett a vége.Szerk.:
"Kivételt nem kezeltem, de otthon majd átírom ilyenre, remélem megoldódik ilyen módszerrel"
Hát nem a kivételkezeléstől fog megoldódni, az biztos.
A kivételkezelés csak egy szép módja a hibakezelésnek, ennyi. Attól még önmagában nem megoldott az adatok helyes feltöltése, csak így könnyű elkapni az eldobott kivételt, ha valahol hiba keletkezett.[ Szerkesztve ]
Sk8erPeter
-
rum-cajsz
őstag
Csak azokat a mezőket érdemes indexelni, amire keresni akarsz.
Ha a kereséseid több mezőre egyidejűleg történnek, akkor érdemes több mezőre összetett indexet tenni, sőt ha valamilyen függvényt használsz, akkor függvény alapú indexet érdemes használni.
Minél több indexed van, annál lassabb lesz az insert és a delete, mert a sorok felvételével és törlésével egyidejűleg az indexsorok létrehozása is létrejön, törlődik.
Ha többféle lekérdezés is történik a táblán, akkor érdemes lehet több oszlopra is indexet tenni a lekérdezések függvényében.
Összetett index esetén csak akkor fog működni az index alapú keresés, ha az első oszlop legalább benne van a feltételek között.És azért van ilyen neved (SYSxxxxx), mert nem nevezted el az indexet létrehozáskor (pl. primary key definiálásakor), ilyenkor egy rendszer által generált néven jön létre az index.
=Kilroy was here============================ooO=*(_)*=Ooo=======
-
bpx
őstag
-
B-L-A-C-K
titán
Sziasztok!
Szinte semennyire se vagyok jártas SQL-ben, de még szerver környezetben sem nagyon, szóval ha hülye kérdéseket fogok feltenni nézzétek el nekem...
Adott egy Windows 2008 R2 Standard (x64) oprendszer, erre kéne nekem felraknom egy SQL 2008 Server-t, ez valahonnan ingyen legálisan letölthető, vagy meg kell vásárolni hozzá? Illetve ha igen mennyibe kerül egy ilyen?
Elsőre ennyi lenn a kérdésem, válaszokat előre is köszönöm...
-
-
martonx
veterán
válasz B-L-A-C-K #1085 üzenetére
Nem tudhatjuk, hogy mire kell neked.
Egyébként három fő limitációja van az ingyenesnek:
1. Csak 1 db processzor magot használ ki
2. Csak 1 Gbyte memóriát használ ki
3. 10Gb-nál nem lehet rajta nagyobb az egyes DB-k méreteHa nincsenek nagy DB-id, és nem több száz párhuzamos felhasználóra akarsz felkészülni (hanem csak néhányra), akkor ezen limitációkkal simán együtt lehet élni.
Én kérek elnézést!
-
martonx
veterán
válasz B-L-A-C-K #1088 üzenetére
full text search van az express-ben is. Replikáció természetesen nincs, de mit akarsz 10Gb-s vicc DB-ken replikálni?
Ha már szerverek között replikálsz, akkor az a pár millió Ft egy rendes SQL szerverért aprópénz.Remélem érted az iróniát.
[ Szerkesztve ]
Én kérek elnézést!
-
Speeedfire
nagyúr
Miért nem lehet 2 timestamp 1 táblában?
Ki akartam próbálni valamit.
Csináltam egy példa táblát, létrehoztam egy id-t, ami AI. Majd egy create-et, ami timestamp és default current_timestamp, akartam csinálni egy másikat is modify néven, de nem engedte, ez is ugyan az lenne mint a create, csak ugye on update current_timestamp.
Írja is az sql, hogy:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clauseFotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #1090 üzenetére
Nyilván MySQL-ről van szó.
Lehet 2 timestamp 1 táblában.
Ami a baja, hogy ha van két timestamp egy táblában, azt nem lehet megcsinálni, hogy az egyik mezőnek defaultból CURRENT_TIMESTAMP az értéke, ÉS a másiknak pedig on update CURRENT_TIMESTAMP tulajdonsága van. Ahogy az sem lehet, hogy mindkettő mezőnek on update CURRENT_TIMESTAMP tulajdonsága van, vagy mindkettő mezőnek CURRENT_TIMESTAMP a default értéke.
Választani kell.Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #1091 üzenetére
Valóban lehet 2 timestamp így. Max a create lesz megadva feltöltéskor, az on update meg a modify. Így talán a legjobb.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
WolfLenny
senior tag
Sziasztok!
Egyik kollégámnak szeretnék segíteni. MySQL-ben fejleszt. A kérdés:
Van két (vagy több) tábla ami azonos struktúrával rendelkezik. Havi adatok. Viszont vannak olyan lekérdezések amikor pl. 6 havi adatból kell. Nem szeretnénk egyenként megnyitni és lekérdezéseket csinálni. Meg lehet azt oldani, hogy mondjuk 6 db táblát megnyit és azt a lekérdezés idejére "összefűzi". Tehát olyan mintha a 6 tábla egybe lenne..
Ezt meg lehet csinálni? Érthető a kérdésem?
Előre is köszi a választ...
-
Sk8erPeter
nagyúr
válasz WolfLenny #1093 üzenetére
Pont ilyen kérdést tettek fel Stack Overflow-n: [MySQL - Selecting data from multiple tables all with same structure but different data]
Ott javasolt megoldás:
(SELECT * from us_music where `genre` = 'punk')
UNION
(SELECT * from de_music where `genre` = 'punk')Sk8erPeter
-
B-L-A-C-K
titán
Nem nagyon boldogulok ezzel az egésszel, de nem is csodálom, kb olyan szituba vagyok mint akinek meg kéne tanulni pár nap alatt zongorázni de sose zongorázott előtte...
PHP-5.2.5 (x64) kéne nekem windows 2008 r2-höz, ezt ingyenesen legálisan le lehet szedni valahonnan?
Illetve ha valaki nagyon ráér privátban tudna nekem segíteni, elmondanám mit is kéne igazából csinálnom...
-
Sk8erPeter
nagyúr
válasz B-L-A-C-K #1098 üzenetére
Remélem csak viccelsz... [link] >>> második találat.... (de persze az első is a php.net oldalára visz, onnan is nyugodtan elkalauzolhatsz...)
Már a Wikipédia vonatkozó szócikkéből is kiderül kb. 3 másodperc Guglizás után, hogy "a PHP szabad szoftver"...
Ha már ez is gondot okoz, akkor szerintem jobban jársz, ha felkeresel egy rendszergazdát, aki X összegért bevállalja neked az egész összeállítását, lehet, hogy nem lesz olcsó, de esélyes, hogy működőképes lesz a rendszered - most ezt nem rosszindulatból mondom, de azért egy publikusan elérhető szerver felállítását nem lehet elviccelni, meg ingatag lábakon hagyni.Sk8erPeter
-
B-L-A-C-K
titán
válasz Sk8erPeter #1099 üzenetére
5.2.5 kerestem ezt nem találtam, és mivel ugye fogalmam sincs hogy jó e másik verzió ezért nem szedtem le az 5.x.x-es verziót megkérdezés előtt. De ezek szerint úgy látom teljesen min1 mit szedek le. Viszont ha te már így állsz hozzám ahogy leírtad, kb hogy be sem tudom kapcsolni a gépet, akkor nem is kéne válaszolnod. Gondolom te már kisujjból kirázod az ezzel kapcsolatos dolgokat, de mivel én most találkozok először ilyennel így szerintem nem olyan meglepő hogy nem tudom pontosan mit is kéne letölteni hozza...
[ Szerkesztve ]
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Megjelent az iOS 17.4, minden idők egyik legfontosabb iPhone-frissítése
- gban: Ingyen kellene, de tegnapra
- Autós topik
- Óra topik
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- DIGI Mobil
- CASIO órák kedvelők topicja!
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- További aktív témák...