Szerző Téma: SQL lekérdezés - Nem értem  (Megtekintve 839 alkalommal)

SQL lekérdezés - Nem értem
« Dátum: 2014. augusztus 24. - 21:18:33 »
0 Show voters
Sziasztok!
Ugye ha MySQL-bõl kérdezünk le, tegyünk fel integer változós dolgot akkor 2 paraméter van.
 
cache_get_field_content_int(0, \"oszlop\");

 
Nos az a bajom, hogy nem tudom hogy a 0 helyére mikor kell más számot írni, és ennek hibájából a mysql log tele van errorokkal amitõl nem mûködik a modom :/
Ha valaki tudja segítsen.
Elõre is köszönöm!
« Utoljára szerkesztve: 2014. augusztus 24. - 21:23:19 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SQL lekérdezés - Nem értem
« Válasz #1 Dátum: 2014. augusztus 24. - 21:25:16 »
0 Show voters
Az a lekérdezett sorok számát jelenti. Pl. van a táblában 10 sor, melybõl 3-nak a \"Number\" oszlopában a 2-es szám szerepel. Ezek ID-je mondjuk 3, 5 és 9.
 
\"SELECT ID FROM Tabla WHERE Number = \'2\'\"

 
Ekkor 0-t írva 3-as fog kijönni, 1-et írva 5-ös és 2-t írva 9-es.

SQL lekérdezés - Nem értem
« Válasz #2 Dátum: 2014. augusztus 24. - 21:32:04 »
0 Show voters
Szóval ha mindenhova 0-át írok az baj?
Mert ilyeneket ír a html log:
\"u2p8X1x.png\"
Minden második sorban ilyen errorom van, pawnoban pedig nincs hiba.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SQL lekérdezés - Nem értem
« Válasz #3 Dátum: 2014. augusztus 24. - 21:33:00 »
0 Show voters
Akkor baj, ha nem csak 1 soros eredményt kapsz.

SQL lekérdezés - Nem értem
« Válasz #4 Dátum: 2014. augusztus 24. - 21:40:48 »
0 Show voters
Lehet hogy ezért van tele errorokkal mert üres a jármûvek tábla és onnan próbálja lekérni õket?
 
stock Kocsibetolt(vehicleid)
{
mysql_format(kapcs, query, 2048, \"SELECT * FROM jarmuvek\");
mysql_query(kapcs, query);
    VehicleInfo[vehicleid][vID] = cache_get_field_content_int(0, \"id\");
VehicleInfo[vehicleid][vPosx] = cache_get_field_content_float(0, \"posx\");
VehicleInfo[vehicleid][vPosy] = cache_get_field_content_float(0, \"posy\");
VehicleInfo[vehicleid][vPosz] = cache_get_field_content_float(0, \"posz\");
VehicleInfo[vehicleid][vColor1] = cache_get_field_content_int(0, \"color1\");
VehicleInfo[vehicleid][vColor2] = cache_get_field_content_int(0, \"color2\");
VehicleInfo[vehicleid][vHP] = cache_get_field_content_int(0, \"hp\");
VehicleInfo[vehicleid][vAzonositoID] = cache_get_field_content_int(0, \"azonositoid\");
cache_get_field_content(0, \"nev\", VehicleInfo[vehicleid][vTulaj]);
cache_get_field_content(0, \"nev\", VehicleInfo[vehicleid][vRendszam]);
CreateVehicle(VehicleInfo[vehicleid][vID], VehicleInfo[vehicleid][vPosx], VehicleInfo[vehicleid][vPosy], VehicleInfo[vehicleid][vPosz], 0, VehicleInfo[vehicleid][vColor1], VehicleInfo[vehicleid][vColor2], -1);
SetVehicleNumberPlate(vehicleid, VehicleInfo[vehicleid][vRendszam]);
return 1;
}

 

for(new i = 0; i < 2000; i++)
{
Kocsibetolt(i);
}

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SQL lekérdezés - Nem értem
« Válasz #5 Dátum: 2014. augusztus 24. - 21:43:49 »
0 Show voters
Ha nincs adat, jó hogy nem fog eredményt adni :D Amúgy ez a kód hibás, mert 2000x lekérdezi az összes létezõ adatot és az elsõ eredménynek adott sorral elvégez egy-két pawn beli mûveletet. Én úgy csinálnám, hogy
 
stock Kocsibetolt()
{
    mysql_format(kapcs, query, 2048, \"SELECT * FROM jarmuvek\");
    mysql_query(kapcs, query);
    for(new i; i < cache_num_rows(); ++i)
    {
        VehicleInfo[vehicleid][vID] = cache_get_field_content_int(i, \"id\");
        // ...
« Utoljára szerkesztve: 2014. augusztus 24. - 21:49:16 írta Dfoglalo »

SQL lekérdezés - Nem értem
« Válasz #6 Dátum: 2014. augusztus 24. - 21:49:02 »
0 Show voters
Mostmár nem ír errorokat viszont nem akar bejelentkezni se :/

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SQL lekérdezés - Nem értem
« Válasz #7 Dátum: 2014. augusztus 24. - 21:49:52 »
0 Show voters
Ezek szerint ez megoldva (?). A bejelentkezés ettõl természetesen független, másold be azt, hátha megtalálom a hibát. :)

SQL lekérdezés - Nem értem
« Válasz #8 Dátum: 2014. augusztus 24. - 21:57:17 »
0 Show voters
public JatekosBelep(playerid)
{
new sorok_szama = cache_get_row_count();
if(sorok_szama == 0)
{   
SendClientMessage(playerid, COLOR_RED, \"(( Sikertelen bejelentkezési kísérlet! ))\");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"{FFFFFF}Üdv a {00BFFF}LaserRPG {FFFFFF}szerverén!\\n\\nÍrd be a jelszavad és lépj be!\", \"Login\", \"Exit\");
}
else
{
gPlayerLogged[playerid] = 1;
PlayerInfo[playerid][Admin] = cache_get_field_content_int(0,\"admin\");
PlayerInfo[playerid][Haz] = cache_get_field_content_int(0, \"haz\");
PlayerInfo[playerid][skin] = cache_get_field_content_int(0, \"skin\");
PlayerInfo[playerid][Penz] = cache_get_field_content_int(0, \"penz\");
PlayerInfo[playerid][serverKezdoSpawn] = cache_get_field_content_int(0, \"serverkezdospawn\");
PlayerInfo[playerid][Allampolgarsag] = cache_get_field_content_int(0, \"allampolgarsag\");
PlayerInfo[playerid][Year] = cache_get_field_content_int(0, \"year\");
PlayerInfo[playerid][Month] = cache_get_field_content_int(0, \"month\");
PlayerInfo[playerid][Day] = cache_get_field_content_int(0, \"day\");
PlayerInfo[playerid][Nem] = cache_get_field_content_int(0, \"nem\");
cache_get_field_content(0, \"nev\", PlayerInfo[playerid][szemelyiSzam]);
if(PlayerInfo[playerid][serverKezdoSpawn] == 1)
{
   SendClientMessage(playerid,COLOR_GREEN, \"(( Sikeresen bejelentkeztél! ))\");
   SendClientMessage(playerid,COLOR_GREEN, \"(( Üdvözlünk a szerveren! Jó játékot kíván a LaserRPG Admin Team! ))\");
   TogglePlayerSpectating(playerid, false);
   SetCameraBehindPlayer(playerid);
   cmd_szemelyigeneral(playerid);
   KezdoSpawn(playerid);
   PlayerInfo[playerid][serverKezdoSpawn] = 0;
   mysql_format(kapcs, query, 2048, \"UPDATE jatekosok SET serverkezdospawn = 0\");
   mysql_query(kapcs, query);
}
else
{
   SendClientMessage(playerid,COLOR_GREEN, \"(( Sikeresen bejelentkeztél! ))\");
   TogglePlayerSpectating(playerid, false);
   SetCameraBehindPlayer(playerid);
   UjSpawn(playerid);
}
}
return 1;
}

 

if(dialogid == 1000)
{
if(response)
{
   new name[MAX_PLAYER_NAME];
   GetPlayerName(playerid, name, sizeof(name));
   mysql_format(kapcs, query, 256, \"SELECT * FROM jatekosok WHERE nev=\'%e\' AND jelszo=SHA1(\'%e\')\", name, inputtext);
   mysql_tquery(kapcs, query, \"JatekosBelep\", \"d\", playerid);
}
else
{
   SendClientMessage(playerid, COLOR_WARNING, \"(( Kicket választottad! ))\");
   UjKick(playerid);
}
}

 

Dupla hozzászólás automatikusan összefûzve. ( 2014. augusztus 24. - 22:01:33 )

Áhh hülye vagyok megvan a hiba. Rossz dialogid-t adtam meg a meghívásnál  :facepalm:
Köszi a segítséget :)
« Utoljára szerkesztve: 2014. augusztus 24. - 22:01:33 írta ProPeti »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
SQL lekérdezés - Nem értem
« Válasz #9 Dátum: 2014. augusztus 24. - 22:04:59 »
0 Show voters
Log mit ír?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal