Kérdések és válaszok

Indította DoomKiller, 2010 augusztus 10, 06:46:54 DÉLUTÁN

Előző téma - Következő téma

imdawe

MySql Trigger nincs beállítva a tábládhoz véletlen? :D
Más lehetőség tényleg nincs.

NevemSenki

Eddig ezt nem is ismertem, nem állítottam be semmit.
És mégis ez van. A Wamp-ot húzzam újra, vagy a MySql-t?

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

imdawe

#332
csak töröld a triggereket a táblán.

DROP TRIGGER

NevemSenki

Már megcsináltam, de a helyzet ugyan az.
Kidobtam az egész táblát. 4 alkalommal csináltam újat.
Most úgy ahogy működik a dolog. Az az érdekes, hogy a tooltip rendszer bekavar neki.
Pontosabban ha előjön, nővel egyet a számlálón.
Ez az online menber dolog a fejlécbe van betéve. Mikor a tooltip-eket használom, akkor nincsen beszúrva csak a conn.php.
Magyarul nem futhat le az online kód. De mégis történik Insert az adatbázisba.

Úgy oldottam meg, hogy kap egy sessionid() változót, ha nem létezik a táblában akkor beszúrja az jelenlegi időponttal együtt, ha már van, nem csinál semmit.
Kiírattam a sessionid()-t, és ugyan az, nem tudom hogy hogy keveredik újabb és újabb sesionid az adatbázisba.
Miközben a kód a tooltip előjövetelekor nem fut le.

Lehet holnap publikálom a mechanizmust, az egészet. Kicsit macerás, mert php + jquery + html + sql.
Nehéz összevadászni az összes alkotóelemet.
Az nem lehetséges hogy egy lezáratlan echo vagy hasonló okozhatja a problémát. ( hibaüzenetem sehol nincsen ). Vagy esetleg nem elég csak a láblécben bezárni a mysql kapcsolatot?


Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

imdawe

IdézKidobtam az egész táblát. 4 alkalommal csináltam újat.
DROP TRIGGER meg DROP TABLE nem ugyanaz!!
A triggerek egy adott mysql táblához eseményhez kapcsolható lekérdezések amiket a mysql szerver tárol és hív meg, így gyorsíthatóak bonyolult lekérdezések valamilyen szinten.

Pl: Új felhasználót szeretnék hozzá adni az users táblámhoz illetve egy bejegyzést létrehozni neki az oldal fontos elemeihez. Legyenek ezek a tálbák, groups, users_info. Amint egy új bejegyzést adtunk hozzá az users táblához a kész mysql trigger meghívódik és a groups valamint users_info táblához is hozzá ad egy bejegyzést.
De ez elég sokoldalú :)


Nem futhat le a kód? De ha lefut akkor mégis csak lefuthat...

No, de milyen keretrendszert használsz?
És igen az lenne a legjobb ha megosztanád azokat a sorokat ahol hibádzhat.
Tudjunk meg többet mi a háttérről úgy könnyebb rájönni mi lehet a hiba.

A jelenlegi megoldásodban kételkedek, hibát nem javítunk úgy, hogy a hibát meghagyjuk csak elfedjük!
Így ezt én kukáznám, helyette debugoljuk ki hol mi is történik echo/exit-eld végig a fájljaidat és derítsd ki mikor mi történik pontosan.

Ha lezáratlan echo-d van, akkor egy ilyen hiba üzenetet kell hogy kapjál.
Parse error: syntax error, unexpected end of file, expecting ',' or ';' in test.php on line 2
vagy
Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in test.php on line 2

Túl sok lehetőséged nincs! :)




NevemSenki

#335
Amit írtál az szép és jó. Ezen viszont megakadt a szemem..... nem viccből tettem fel a kérdést, mert ha szőnyeg alá akarnám kaparni, akkor nem vigyorogna itt a kérdés. ( Kicsit felhúztam magam így reggel... )

IdézA jelenlegi megoldásodban kételkedek, hibát nem javítunk úgy, hogy a hibát meghagyjuk csak elfedjük!

Válaszolok!

Én ezt az egészet úgy próbálom csinálni, hogy minden klappoljon teljes mértékben. Úgy indult ez az egész, hogy a php kód megnyitását követően, azzal a lendülettel be is zártam... a bonyolultsága miatt. Konkrétan a büdös NULL-ról indultam. És szépen, lassan építettem fel a dolgokat. Engem nem érdekel hogy meddig tart, vagy hogy milyen bonyolult a dolog, de nem söprök semmit sem a szőnyeg alá. Addig csinálom, próbálkozok vele, amíg rá nem jövök. Van olyan mikor már végképp semmi ötletem. Ilyenkor egy másik részével kezdek el foglalkozni a dolgoknak.
Lásd, most is a Map System.

Visszatérve. Elolvastam a Trigger-ekről szóló linket, és igen érdekesek, és egyben jók is. Igaz, nem fogom még őket használni. A legjobb megoldásnak, és a dolgok jobb haladása érdekében ( mert azért nem egy egyszerű weblapról van szó ) megoldom a dolgokat, egyszerű, néha elég hosszadalmas és nehézkes, de működő  megoldásokkal. Majd ha minden megvan, részeként, lassan haladva, finomítok rajta.
Példaképpen. SQL SELECT --> If(mysql_num_rows() != 0) --> while( x = mysql_fetch_array()) --> majd újra SQL SELECT--> majd újra If(mysql_num_rows() != 0 )...
Használhatnák helyette SQL INNER vagy LEFT vagy RIGHT JOIN-t is.
De így megmarad a hibakeresésnél nagy szerepet betöltő részletesség, és módosíthatóság lehetősége.

Az a baj, hogy kikapni minden egyes részt aminek ehhez köze lehet, nagyon nem egyszerű. Ha csak azt nézed, hogy a főoldalon a nagy keresővel keresek, az előkereső JSON alapon kutat az adatbázisban, majd rámutatásra különálló tooltip-ként jön elő az item és NPC is, miközben file_exit, vagy URL-ként megkeresi a hozzájuk tartozó képet, majd ellenőrzi annak meglétét. Nem beszélve arról hogy az online emberek kiíratásához mysql_num_rows egy betölthető plugin. Amit egy JavaScript hív meg az oldal betöltődése után. Amire a feltételt az adatbázis tartalmazza, és echo + while úton lesz meghívva az oldal betöltődésekor. Amit majd átvesz egy másik, ami majd előhívja, és betölti a megfelelő helyre. Nem beszélve a nyelvváltásról, ami session-on alapul, de át van adva egy JavaScript változónak is ( ami a karakterváltásnál, USERPLATE-nél fontos ) Mert ugye a nyelv nem csak az oldalon kiírt szövegeknél, de a plugin-oknál is meg van oldva. Azon kívül nem beszéltünk még a Core_load JavaScript funkcióról. Ami az oldal betöltődése után képes betölteni JS-eket és CSS-eket. Nem beszélve a különböző külső JavaScript-ekről, amiket még nem volt módom teljesen átnézni.
Mert ember legyen a talpán, aki ennyit át tud bogarászni úgy, hogy közben kiírtja azokat amiket az oldal a későbbiekben BIZTOSAN NEM FOG HASZNÁLNI. Se most, se a későbbiekben.
Itt ugye már nem csak az adott kis Plugin-ról van szó, hanem a fejléctől a láblécig minden fájlról. És az azokba csatolt többi fájlról is.
Mert ez a hiba nem csak a Tooltip előjövetelkor lép fel, hanem akkor is ha az előkeresőből egy NPC-re kattintok, és megtekintem az adatlapját.

Nagyon nem egyszerű összevadászni a dolgokat. Mert minden közrejátszhat. És halovány lila segédfogalmam nincs hogy mi.

Mert direkte egy olyan táblát, és olyan oszlopneveket használtam amikhez messze hasonló sincs egyik adatbázisomban sem. ( kolbaszos_paprika stb..... )

Szerintem a Session-oknál keveredik meg a dolog. De kiírattam az épen használt session-t. És nem változik, pontosan ugyan az. Direkt a fejlécben, az online kód után egyből írattam ki. És ez megjelenik minden oldalon akárhová megyek. De nem változik. Az adatbázisba pedig újabb és újabb session-ok lépnek be. és nem tudom hogy hogy keletkeznek..... Direkt megnézve az IF működését, ha INSERT történik az adatbázisba, az IF azon ágába echo 'insert';. De ezt a parancsot nem látom. Mert ha végigfut a kód a tetejétől a talpáig az oldalnak, akkor ki kéne írnia a jelzőszöveget. De ezt csak egyszer látom, mikor az oldalra lépek. Szóval az IF ás ahol az INSERT van, nem fut le több alkalommal. Mert akkor ugye látnom kéne az INSERT kiírást.

Megpróbálom összeszedni, de nem ígérhetek semmit.

Üdv.: Senki

U.I.:

30 perccel később.....

Na még annyit fűznék a dologhoz hogy nagyon berágatott ez a mondat. Rengeteget szívtam már ezzel az oldallal. Már lassan majd annyit mint a Launcher-es, Update-eres, BKGND-s dologgal. Ott sem söpörtem semmit sehova. Csak hiába írtam ide bármit is, senkit nem érdekelt, segíteni meg aztán senki nem tudott. Ezért a problémákat nem is írtam le. Kb 3-4 hónapba telt mire megoldottam az egészet cakkon púder. De megoldottam, nem " elfedtem " hanem megoldottam. Hiába volt a dolog teljesen kilátástalan, és a net sem segített jóformán semmit.
Ne mondj ilyeneket, mert hülyét kapok.....
Én ezt nem másnak csinálom, hanem elsősorban magamnak. És ha valamit az ember magának csinál, akkor azt a legjobb tudása szerint teszi, és addig görcsöl vele, amíg meg nem csinálja.

Üdv.: Senki

U.I.2:

45 perccel később....

Felejtsük el a hibát, megoldom. Pont úgy ahogy eddig is. Ez sem lehet sokkal bonyolultabb.
Nagyon berágattál ezzel a mondattal, mentségedre legyen szólva hogy gőzöd nincs hogy mennyit dolgoztam vele meló, suli és megélhetés mellett. Én itt lezártam a dolgot. Vegyük úgy hogy " Megoldódott ".

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

zerus

Idézetet írta: NevemSenki Dátum 2013 március 14, 11:10:46 DÉLUTÁN
Olyat mutatok, amit szerintem még ti sem láttatok. Most vagy nagyon benézek valamit, vagy meghülyültem....

Adott ez a kis PHP kód:

Kód (php) Kijelölés

mysql_connect( 'localhost', 'root', 'xxxxx' );
$weboldaldb = "website"; // Weboldalhoz tartozó adatbázis

mysql_select_db($weboldaldb);
$user = mysql_num_rows(mysql_query("SELECT * FROM online"));
echo $user;

mysql_close();


Online tábla:

Kód (mysql) Kijelölés
create table `online` (
`ses` char ,
`ido` int
);


Megnyitom a fenti PHP-t, és frissítéskor minden alkalommal beszúr egy új sort az adatbázisba.
Megmutatom videó formájában is....

http://youtu.be/HBKjvuJRqpc

Erre mi a magyarázat? Mert biztosan van...

Üdv.: Senki

Egy fontos kérdésem lenne.
A notepad++-ban egy .php fájlt mutatsz, de a böngészőben egy .hun fájlt nyitsz meg, esetleg annak a tartalmát is meg lehetne nézni?

imdawe

Ne haragudj, nem megsérteni szerettelek volna pláne nem felhúzni csak jeleztem véleményem a megoldásodról. Ha valaminek működnie kellene, és nem működik nem alternatívát keresünk a hiba elfedésére ez esetben ezt tetted.
Ha a hiba ott van h meghív valami valamit akkor tenni kell róla hogy ne tegye.

Az irományodra válasz képen én szívesen segítek megoldani, gondoltam hogy nem egy egyszerű 1 lapos php fájlról van szó.

Ui.:
Más sem szarja a kenyérre valót!

NevemSenki

Idézetet írta: zerus Dátum 2013 március 21, 01:35:01 DÉLUTÁN
Idézetet írta: NevemSenki Dátum 2013 március 14, 11:10:46 DÉLUTÁN
Olyat mutatok, amit szerintem még ti sem láttatok. Most vagy nagyon benézek valamit, vagy meghülyültem....

Adott ez a kis PHP kód:

Kód (php) Kijelölés

mysql_connect( 'localhost', 'root', 'xxxxx' );
$weboldaldb = "website"; // Weboldalhoz tartozó adatbázis

mysql_select_db($weboldaldb);
$user = mysql_num_rows(mysql_query("SELECT * FROM online"));
echo $user;

mysql_close();


Online tábla:

Kód (mysql) Kijelölés
create table `online` (
`ses` char ,
`ido` int
);


Megnyitom a fenti PHP-t, és frissítéskor minden alkalommal beszúr egy új sort az adatbázisba.
Megmutatom videó formájában is....

http://youtu.be/HBKjvuJRqpc

Erre mi a magyarázat? Mert biztosan van...

Üdv.: Senki

Egy fontos kérdésem lenne.
A notepad++-ban egy .php fájlt mutatsz, de a böngészőben egy .hun fájlt nyitsz meg, esetleg annak a tartalmát is meg lehetne nézni?

.htaccess fájlt alkalmaztam. A fájlok *.php néven vannak elmentve, de meghívhatóak a böngészőben *.hun-ként is.

Idézetet írta: imdawe Dátum 2013 március 21, 03:10:58 DÉLUTÁN
Ha valaminek működnie kellene, és nem működik nem alternatívát keresünk a hiba elfedésére ez esetben ezt tetted.

Hol fedtem el a hibát? Hol tettem én ezt? Ne is válaszolj. A téma nem erről szól!
Ha megtalálom a megoldást meg fogom írni a hiba mibenlétét.
És itt a dolgot zárjuk is le!!!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

imdawe

Akkor pattogj... véleményt még mondhatok. cső.

Anubisss

Háromfajta ember van. Aki tud számolni és aki nem.

NevemSenki

Megérkezett a megoldás. Konzultáltam egy ismerősömmel, és adott egy ötletet. ELTE-n volt rendszergazda.
Elmondtam neki mindent, és több mint valószínű, hogy szektorhibás a merevlemezem.

Tettem az ügy érdekében. Ő a HDD Regenerator-t javasolta. Igaz egész este csinálta, de 9-re készen lett.
Adatbázisokat kimentettem, letöröltem cakkon púder a teljes MySql-t és a Wamp-ot.
Majd a szabad terület 8 menetes formázása, restart, majd újratettem a MySql-t és a Wamp-ot is.

És akárhogy is próbálkozok, a hibát nem tudom újra előidézni.

Valami olyat mondott, hogy sok sok dolgon megy keresztül amíg a PHP-ban megírt utasítás, eljut a MySql-ig, majd az képes lesz értelmezni, és végrehajtani. Mivel hiba volt a merevlemezemen, így ő a SELECT utasításra is INSERT-et olvasott. Mert ez valami Cahe dolog... nem teljesen értettem. Azért került újra és újra más session a képbe, mert a hibás szektor ( szektorcsoport ) a Wamp szerver-t is érintette.

Tömören ennyi.

Igaz nem egyedül, de megoldottam a dolgot. Nem " fedtem el ", és Nem " söpörtem " sehová. Sipi... Söpi....

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Anubisss

Ez szerintem ugy hulyeseg, ahogy van. :D :D

"Mivel hiba volt a merevlemezemen, így ő a SELECT utasításra is INSERT-et olvasott."

Persze majd minden utasitast kiir a HDD-re nem? Tok logikus! :D Veletlen sem a memoriaban "tarolja", ami 100x gyorsabb. Es pont csak ennel a tablanal szar? Minden mashol jo? :D

"Kidobtam az egész táblát. 4 alkalommal csináltam újat. "
Ez azt jelenti, hogy új és vélhetően hibamentes szektorra került a tábla...


45% (!) kondicio alatti HDD-nel nem lehetett ilyeneket tapasztalni!
Háromfajta ember van. Aki tud számolni és aki nem.

NevemSenki

#343
Én ehhez annyira nem értek, ezért is kértem segítséget.
Valahol mégis igaza lehetett, mert megcsináltam amit mondott és most semmi gond nincsen.

Vagy így, vagy úgy, de ha valakinek hasonló gondja van, akkor én a HDD Regenerator-t és a MySql és a Wamp újratelepítését ajánlom.

Ha kipróbáltam volna további 4-5 új php fájlal, és hasonló SQl utasításokkal, akkor lehet kiderült volna hogy a probléma nem csak ennél van. INSERT-et egyet sem próbáltam... ezen kívül. Ha újra előfordul a hiba, akkor kipróbálok minden eshetőséget.
Mert ebben a memóriás dologban neked adok igazat.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Zed

HDD regenerator, már a neve is bizarr, hasonló ökörség mint a hdd sentinel, hdd booster.. és még sorolhatnánk.

Ezek a programok gyakorlatilag nem csinálnak semmi értelmeset, körülbelül ugyanezt az eredményt éred el egy CHKDSK-val. Felesleges 3rd party programokat használni erre, ha valóban szektorhiba okozza a bajt akkor azt úgy is a rendszer megoldja magának.

De, egyetértek Anubisss-al, egyáltalán nem hiszem, hogy a probléma ebből fakadt, ha valóban súlyosan szektorhibás lenne a HDD-d akkor az már mutatkozott volna, gyakori Bsod társaságában, rendszerbetöltési problémákkal tarkítva.

Inkább tartom valószínűnek azt, hogy szoftveres probléma okozta a bajt (ahogy írtad újra telepítetted a MYsql, Wamp párost)

Powered by EzPortal