GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: zsoolt997 - 2016. November 01. - 18:23:00

Cím: MySQL hiba
Írta: zsoolt997 - 2016. November 01. - 18:23:00
Hali.
Nem nagyon kértem segítséget, de ez most ki fogott rajtam...
 
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype
17:45:25   cache_get_field_content_int   ERROR   invalid datatype

 
Ezeket az errorokat kapom, mikor próbálnék betölteni adatot a táblából. Utánanéztem, nem találtam semmi érdemleges dolgot.
Csak erre az egy betöltésre kapom ezt az errort.
 
motel = cache_get_field_content_int(i, \"pmotelkey\", sql);

 
Erre már nem írja:
 
lastactive = cache_get_field_content_int(i, \"utoljaraaktiv\", sql);

 
Ez eggyel felette van, próbáltam, hogy alatta van, akkor is írja az előbbire a hibát.
A táblában az oszlop típusa INT (intiger), rendes oszlop nevet adok meg, lechekkolom, hogy egyáltalán van-e sor.
Cím: MySQL hiba
Írta: Lucio - 2016. November 01. - 18:39:52
Itt igazából csak annyi lehet a probléma, hogy a pmotelkey mező nem INT típusú.
Cím: MySQL hiba
Írta: Brian Harris - 2016. November 01. - 18:44:15
vagy NULL-t akar betölteni, azaz nincs megadva Default érték, a mezőnek.
Cím: MySQL hiba
Írta: zsoolt997 - 2016. November 01. - 21:20:38
Idézetet írta: Lucio date=1478021992\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63482\" data-ipsquote-contentclass=\"forums_Topic
Itt igazából csak annyi lehet a probléma, hogy a pmotelkey mező nem INT típusú.
 

A táblában az oszlop típusa INT (intiger), ...[/quote]
 

vagy NULL-t akar betölteni, azaz nincs megadva Default érték, a mezőnek.
 
[/quote]
Az első sorban a mezőnek már van értéke. Adtam meg neki alap értéket is, de nem jó. Más ötlet?  :shurg:
Cím: MySQL hiba
Írta: Basshunter - 2016. November 01. - 22:37:21
Hello, Tábláról és a lekérésről tudsz dobni egy képet vagy valamit?
Cím: MySQL hiba
Írta: zsoolt997 - 2016. November 02. - 00:18:16
\"e8MR_uvvM0Pk1AoRpN7lNGdF3m87TUROStpXXVRpckU?size=1280x960&size_mode=3\"
 

funkcio OnServerCheckMotel()
{
new sor = cache_num_rows(), i = NINCS, lastactive, motel = NINCS;
printf(\"sor: %d\", sor);
if(!sor)
return AdminUzenet(COL_PIROS, BEGINNER, \"[HIBA]: Nem található karakter a motel ellenőrzésnél!\");
for(;++i < sor;)
{
cache_get_value_int(i, \"utoljaraaktiv\", lastactive);
cache_get_value_int(i, \"pmotel\", motel);
printf(\"sor: %d | motel: %d | lastactive: %d | különbség: %d\", i, motel, lastactive, (gettime() - 172800));
}
return true;
}

 
Átírtam az R-41-es MySQL-re, hátha van valami. Nos lett valami, ugyanúgy nem működik, de a log már ezt írja:
 
[00:02:34] [iNFO] Executing callback \'OnServerCheckMotel\' with 0 parameter...
[00:02:34] [DEBUG] executing AMX callback with index \'112\'
[00:02:34] [DEBUG] cache_get_row_count(0x04FE58B8)
[00:02:34] [DEBUG] cache_get_row_count: return value: \'1\'
[00:02:34] [DEBUG] cache_get_value_name_int(0, \"utoljaraaktiv\", 0x04FE58C0)
[00:02:34] [DEBUG] cache_get_value_name_int: assigned value: \'1478221333\'
[00:02:34] [DEBUG] cache_get_value_name_int: return value: \'1\'
[00:02:34] [DEBUG] cache_get_value_name_int(0, \"pmotel\", 0x04FE58BC)
[00:02:34] [ERROR] cache_get_value_name_int: field \'pmotel\' not found
[00:02:34] [DEBUG] AMX callback executed with error \'0\'
[00:02:34] [iNFO] Callback successfully executed.

 

[00:02:34] [plugins/mysql] cache_get_value_name_int: field \'pmotel\' not found

 
Nem találja a mezőt. Átírtam, próbáltam mindent, nem találja. De érdekes, hogy mikor menti, meg betölti a csatlakozáskor, akkor nem írja, hogy nem találja, rendesen menti/betölti. Szóval lehet én csesztem el valamit, amire nem tudok rájönni...  :question:
Cím: MySQL hiba
Írta: Brian Harris - 2016. November 02. - 00:29:38
Ha mondjuk ezt:
        for(;++i < sor;)
        {
                cache_get_value_int(i, \"utoljaraaktiv\", lastactive);
                cache_get_value_int(i, \"pmotel\", motel);
               
                printf(\"sor: %d | motel: %d | lastactive: %d | különbség: %d\", i, motel, lastactive, (gettime() - 172800));
        }

 
átírod így:
 
        for(;++i < sor;)
        {
                lastactive = cache_get_field_content_int(i, \"utoljaraaktiv\");
                motel = cache_get_field_content_int(i, \"pmotel\");
               
                printf(\"sor: %d | motel: %d | lastactive: %d | különbség: %d\", i, motel, lastactive, (gettime() - 172800));
        }
Cím: MySQL hiba
Írta: zsoolt997 - 2016. November 02. - 11:45:01
Nem, mert maddinat0r teljesen átírta a MySQL-t és ez lett az új R-41-es MySQL.
Cím: MySQL hiba
Írta: Basshunter - 2016. November 02. - 18:17:57
Jézusom :D mi ez a funkcio meg NINCS? :D ilyeneket a saját érdekedbe ne használj így is olyan világtól elvont ez a nyelv :( főleg, hogy a SA-MP valami régi, 3.6-os verziót használ talán :D a NINCS értéke -1? :D Gondolom én, az lenne logikus :D
for(;++i < sor;) helyett nem egyszerűbb az h while(++i < sor)? :D ugyannyi karakter de sztem jobban mutat :D
Emigy pedig most mi a mező neve....  pmotel vagy pmotelkey? :D
Nah meg légyszi a tábla adatszerkezetét és a lekérést add meg, amit kértem ha mégsem ez a baj amit fent kérdeztem a névről :)
Peace.
Cím: MySQL hiba
Írta: zsoolt997 - 2016. November 02. - 19:40:27
1. Neked nem tök mindegy én mit használok, hogy építem fel a scriptjeimet? Nem ez volt a kérdés.
2. Neked úgy néz ki jól, én meg nem szeretem a while ciklust..
3. Átneveztem a mezőt, hátha úgy működik végső elkeseredettségemben...
4. Értékelem a segítséget, ugyanis megoldottad a problémám. :) Szar volt a lekérés, csak az \"utoljaraaktiv\" mezőt választottam ki. Tanulság, nem kell ezt erőltetni hajnali 1-kor..  :whistle:
Zárok!