Szerző Téma: SQL csatlakozás..  (Megtekintve 1153 alkalommal)

Nem elérhető shadee

  • 1073
    • Profil megtekintése
SQL csatlakozás..
« Dátum: 2012. szeptember 11. - 19:07:45 »
0 Show voters
helló,elkezdtem írni 1 módot,De mikor SQL-t beállítom,Mindig azt irja ki h [MYSQL]csatlakozás sikeres..
De ha átírom aza adatokat másra,akkor is ugyan azt irja.Pls help
 
public SQL_CSATLAKOZAS()
{
        mysql_connect(SQL_HOST,SQL_USER,SQL_DATABASE,SQL_PW);
        if(mysql_ping())
{
   print(\"[MySQL] csatlakozás sikeres!\");
}
        if(!mysql_ping())
{
   print(\"[MySQL] csatlakozás sikertelen!\");
}
}

SQL csatlakozás..
« Válasz #1 Dátum: 2012. szeptember 11. - 19:09:37 »
0 Show voters
else if

Nem elérhető Dead

  • 2045
    • Profil megtekintése
SQL csatlakozás..
« Válasz #2 Dátum: 2012. szeptember 11. - 19:10:34 »
+1 Show voters
és ha else -t írsz?
nálunk így van módba:
 
 print( !\"MySQL: Kapcsolódás erre a címre \" MYSQL_HOST \" \" MYSQL_USER \" nevû felhasználóval. \\nAdatbázis neve: \" MYSQL_DB \".\" );
  mysql_debug( 1 );
  mysql_connect( !MYSQL_HOST, !MYSQL_USER, !MYSQL_DB, !MYSQL_PASS );
  if( mysql_ping( ) != 1 )
  {
print( !\"MySQL: Kapcsolódás sikertelen! (\" MYSQL_HOST \")\" );
print( !\"MySQL: A mód kikapcsol! (\" MYSQL_HOST \")\" );
SendRconCommand( !\"exit\" );
return 1;
  }
  print( !\"MySQL: Kapcsolódás elfogadva!\" MYSQL_HOST \"\" );
  print( !\"MySQL: Adatbázis \" MYSQL_DB \" kiválasztva!\" );
 

SQL csatlakozás..
« Válasz #3 Dátum: 2012. szeptember 11. - 19:12:02 »
0 Show voters
if(mysql_ping() == 1)

 ez akkor hogyha sikeres

Nem elérhető Dead

  • 2045
    • Profil megtekintése
SQL csatlakozás..
« Válasz #4 Dátum: 2012. szeptember 11. - 19:13:00 »
0 Show voters
mint látod, nem :D, nekünk így tökéletes( Gábor írta, úgyh profi munka ^^)

Nem elérhető shadee

  • 1073
    • Profil megtekintése
SQL csatlakozás..
« Válasz #5 Dátum: 2012. szeptember 11. - 19:24:38 »
0 Show voters
kösz a helpet,kicsit átediteltem és müködik,Ígyvan most:
 
public SQL_CSATLAKOZAS()
{
    mysql_connect( !SQL_HOST, !SQL_USER, !SQL_DATABASE, !SQL_PW );
    if( mysql_ping( ) != 1 )
{
mysql_debug( 1 );
       print( !\"MySQL: Kapcsolódás sikertelen!\");
        print( !\"MySQL: A mód kikapcsol!\" );
   //     SendRconCommand( !\"exit\" );
}
if(mysql_ping() == 0)
{
       print( !\"MySQL: Kapcsolódás elfogadva!\");
       print( !\"MySQL: Adatbázis\" );
}
}

 
Pluszt osztom :D
nemzárom a témát,ha valamiben elakadok ide írok

Dupla hozzászólás automatikusan összefûzve. ( 2012. szeptember 11. - 19:57:19 )

Most csintam az adatmentést,de nem nagyon jött össze,aza baj nem tudom hogyan definiáljam a file-t,úgy mint a Dini-nél?azért itt a kód
 
public AdatMentes(playerid)
{
    new Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerIp(playerid, ip, 16);
GetPlayerPos(playerid, saveX, saveY, saveZ);
PlayerInfo[playerid][penz] = GetPlayerMoneyEx(playerid);
format(file, sizeof file,\"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', WHERE `Felhasznalo` = \'%s\'\",PlayerInfo[playerid][penz],PlayerInfo[playerid][admin],Neve(playerid));
mysql_query(file);
format(file, sizeof file,\"UPDATE `Adatok` SET `spawnX` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveX,Neve(playerid));
if(saveX != 0.0) mysql_query(file);
format(file, sizeof file,\"UPDATE `Adatok` SET `spawnY` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveY,Neve(playerid));
if(saveY != 0.0) mysql_query(file);
format(file, sizeof file,\"UPDATE `Adatok` SET `spawnZ` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveZ,Neve(playerid));
if(saveZ != 0.0) mysql_query(file);
format(file, sizeof file,\"UPDATE `Adatok` SET `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\",ip,Neve(playerid));
mysql_query(file);
}
« Utoljára szerkesztve: 2012. szeptember 11. - 19:57:19 írta shadee »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
SQL csatlakozás..
« Válasz #6 Dátum: 2012. szeptember 11. - 19:59:59 »
0 Show voters
Idézetet írta: Dead date=1347383434\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27579\" data-ipsquote-contentclass=\"forums_Topic
és ha else -t írsz?
nálunk így van módba:
 
 print( !\"MySQL: Kapcsolódás erre a címre \" MYSQL_HOST \" \" MYSQL_USER \" nevû felhasználóval. \\nAdatbázis neve: \" MYSQL_DB \".\" );
  mysql_debug( 1 );
  mysql_connect( !MYSQL_HOST, !MYSQL_USER, !MYSQL_DB, !MYSQL_PASS );
  if( mysql_ping( ) != 1 )
  {
print( !\"MySQL: Kapcsolódás sikertelen! (\" MYSQL_HOST \")\" );
print( !\"MySQL: A mód kikapcsol! (\" MYSQL_HOST \")\" );
SendRconCommand( !\"exit\" );
return 1;
  }
  print( !\"MySQL: Kapcsolódás elfogadva!\" MYSQL_HOST \"\" );
  print( !\"MySQL: Adatbázis \" MYSQL_DB \" kiválasztva!\" );
 

 

Na fasza, nem is tudtam, hogy Gabor az Kurta.
 

print(!\"MySQL: Kapcsolódás erre a címre \" MYSQL_HOST \" \" MYSQL_USER \" nevû felhasználóval. \\nAdatbázis neve: \" MYSQL_DB \".\");
mysql_debug(1); // Ha élesbe futtatod, akkor ezt SEMMIKÉPP se hagy bekapcsolva! Ez az egész rendszer sebességét kb. ötszörösére csökkenti, ha nem tízszeresére..
mysql_connect(!MYSQL_HOST, !MYSQL_USER, !MYSQL_DB, !MYSQL_PASS);
if(mysql_ping() != 1)
{
    print(!\"MySQL: Kapcsolódás sikertelen! (\" MYSQL_HOST \")\");
    print(!\"MySQL: A mód kikapcsol! (\" MYSQL_HOST \")\");
    SendRconCommand(!\"exit\");
return 1;
}
print(!\"MySQL: Kapcsolódás elfogadva!\" MYSQL_HOST \"\");
print(!\"MySQL: Adatbázis \" MYSQL_DB \" kiválasztva!\");
mysql_reconnect(); // Újrakapcsolódás engedélyezése
     return 1;

 
(idéztem)

Nem elérhető shadee

  • 1073
    • Profil megtekintése
SQL csatlakozás..
« Válasz #7 Dátum: 2012. szeptember 11. - 20:04:38 »
0 Show voters
Lehet összekeverte a 2 nevét...ez nálam is elõ szokott fordulni
de Ha lehet,Maradjunk a témánál,Mindig van 1 kérdésem
Idézem:
nem tudom SQL-en hogyan kell def. a file-t úgy mint a Dini-nél?
 
public AdatMentes(playerid)
{
    new Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerIp(playerid, ip, 16);
        GetPlayerPos(playerid, saveX, saveY, saveZ);
        PlayerInfo[playerid][penz] = GetPlayerMoneyEx(playerid);
        format(file, sizeof file,\"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', WHERE `Felhasznalo` = \'%s\'\",PlayerInfo[playerid][penz],PlayerInfo[playerid][admin],Neve(playerid));
        mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnX` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveX,Neve(playerid));
        if(saveX != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnY` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveY,Neve(playerid));
        if(saveY != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnZ` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveZ,Neve(playerid));
        if(saveZ != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\",ip,Neve(playerid));
        mysql_query(file);
}

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
SQL csatlakozás..
« Válasz #8 Dátum: 2012. szeptember 11. - 20:11:39 »
+1 Show voters
Idézetet írta: DrAkE date=1347386399\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27579\" data-ipsquote-contentclass=\"forums_Topic


és ha else -t írsz?
nálunk így van módba:
 
 print( !\"MySQL: Kapcsolódás erre a címre \" MYSQL_HOST \" \" MYSQL_USER \" nevû felhasználóval. \\nAdatbázis neve: \" MYSQL_DB \".\" );
  mysql_debug( 1 );
  mysql_connect( !MYSQL_HOST, !MYSQL_USER, !MYSQL_DB, !MYSQL_PASS );
  if( mysql_ping( ) != 1 )
  {
print( !\"MySQL: Kapcsolódás sikertelen! (\" MYSQL_HOST \")\" );
print( !\"MySQL: A mód kikapcsol! (\" MYSQL_HOST \")\" );
SendRconCommand( !\"exit\" );
return 1;
  }
  print( !\"MySQL: Kapcsolódás elfogadva!\" MYSQL_HOST \"\" );
  print( !\"MySQL: Adatbázis \" MYSQL_DB \" kiválasztva!\" );
 

 

Na f***a, nem is tudtam, hogy Gabor az Kurta.
 

print(!\"MySQL: Kapcsolódás erre a címre \" MYSQL_HOST \" \" MYSQL_USER \" nevû felhasználóval. \\nAdatbázis neve: \" MYSQL_DB \".\");
mysql_debug(1); // Ha élesbe futtatod, akkor ezt SEMMIKÉPP se hagy bekapcsolva! Ez az egész rendszer sebességét kb. ötszörösére csökkenti, ha nem tízszeresére..
mysql_connect(!MYSQL_HOST, !MYSQL_USER, !MYSQL_DB, !MYSQL_PASS);
if(mysql_ping() != 1)
{
    print(!\"MySQL: Kapcsolódás sikertelen! (\" MYSQL_HOST \")\");
    print(!\"MySQL: A mód kikapcsol! (\" MYSQL_HOST \")\");
    SendRconCommand(!\"exit\");
return 1;
}
print(!\"MySQL: Kapcsolódás elfogadva!\" MYSQL_HOST \"\");
print(!\"MySQL: Adatbázis \" MYSQL_DB \" kiválasztva!\");
mysql_reconnect(); // Újrakapcsolódás engedélyezése
     return 1;

 
(idéztem)
 
[/quote]
OFF: Az csak a csatlakozás. :D A regisztrációs rendszer az egyedi, ha kell adok róla képet, vagy kódrészletet. :D
ON:
 

public AdatMentes( playerid )
{
        new
               Float: saveX,
               Float: saveY,
               Float: saveZ;
        GetPlayerIp( playerid, ip, 16 );
        GetPlayerPos( playerid, saveX, saveY, saveZ );
        PlayerInfo[ playerid ][ penz ] = GetPlayerMoneyEx( playerid );
        format( file, sizeof( file ), \"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', `spawnX` = \'%.4f\', `spawnY` = \'%.4f\', `spawnZ` = \'%.4f\', `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\", PlayerInfo[ playerid ][ penz ],PlayerInfo[ playerid ][ admin ], saveX, saveY, saveZ, ip, Neve( playerid ) );
       
        mysql_query( file );
}
« Utoljára szerkesztve: 2012. szeptember 11. - 20:19:40 írta Gabor.. »

Nem elérhető shadee

  • 1073
    • Profil megtekintése
SQL csatlakozás..
« Válasz #9 Dátum: 2012. szeptember 11. - 20:16:17 »
0 Show voters
köszönöm,Megy a  Plusz

SQL csatlakozás..
« Válasz #10 Dátum: 2012. szeptember 11. - 20:19:24 »
0 Show voters
Idézetet írta: shadee date=1347386678\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27579\" data-ipsquote-contentclass=\"forums_Topic
Lehet összekeverte a 2 nevét...ez nálam is elõ szokott fordulni
de Ha lehet,Maradjunk a témánál,Mindig van 1 kérdésem
Idézem:
nem tudom SQL-en hogyan kell def. a file-t úgy mint a Dini-nél?
 
public AdatMentes(playerid)
{
    new Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerIp(playerid, ip, 16);
        GetPlayerPos(playerid, saveX, saveY, saveZ);
        PlayerInfo[playerid][penz] = GetPlayerMoneyEx(playerid);
        format(file, sizeof file,\"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', WHERE `Felhasznalo` = \'%s\'\",PlayerInfo[playerid][penz],PlayerInfo[playerid][admin],Neve(playerid));
        mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnX` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveX,Neve(playerid));
        if(saveX != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnY` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveY,Neve(playerid));
        if(saveY != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `spawnZ` = \'%0.3f\' WHERE `Felhasznalo` = \'%s\'\",saveZ,Neve(playerid));
        if(saveZ != 0.0) mysql_query(file);
        format(file, sizeof file,\"UPDATE `Adatok` SET `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\",ip,Neve(playerid));
        mysql_query(file);
}

 

A fene se tudja mire akarsz kilyukadni, de a lényeg:
Mysql szervernek egy karakterláncot küldesz el, ami tartalmazza az utasítást és az adatokat amivel dolgozzon.
Tehát kell egy ilyesmi:
 
new
      query[128];

 
Ami számodra 127 karaktert (írásjelet) képes tárolni a 128. az a null terminated string \'\\0\'.
A másik lényeges dolog hogy egy mysql_query meghívás sokkal de sokkal lassabb mint egy fwrite ezért minden adatot egy karakterláncba kell tenni, ami ha meghaladja a 127 karaktert akkor növelni kell a query méretét mondjuk 256-ra, egyszerûen ki kell számolni mennyi is lehet maximálisan egy utasításnyi karakterlánc mérete és az alapján megadni méretét.
Mint az elõttem szóló csak nem hozta létre a változót, vagy global változót használ amit nem javaslok e téren, de hát mindegy.
 
public 
AdatMentes( playerid )
{
new
Float:saveX,
Float:saveY,
Float:saveZ;
GetPlayerIp( playerid, ip, 16 );
GetPlayerPos( playerid, saveX, saveY, saveZ );
PlayerInfo[ playerid ][ penz ] = GetPlayerMoneyEx( playerid );
new
query[128];
format( query, sizeof( query ), \"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', `spawnX` = \'%0.4f\', `spawnY` = \'%0.4f\', `spawnZ` = \'%0.4f\', `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\", PlayerInfo[playerid][penz],PlayerInfo[playerid][admin], saveX, saveY, saveZ, ip, Neve( playerid ) );
mysql_query(query);
}

 
Edit:
És mint ahogy írtam feljebb, itt növelni kell a méretét mert ez a rész már eleve 157 karakter:
 
   printf(\"strlen: %d\", strlen(\"UPDATE `Adatok` SET `Penz` = \'%d\', `adminlevel` = \'%d\', `spawnX` = \'%0.4f\', `spawnY` = \'%0.4f\', `spawnZ` = \'%0.4f\', `IPcim` = \'%s\' WHERE `Felhasznalo` = \'%s\'\"));

 
Nem egy pontos meghatározás de jó kis szemléltetés tehát 256 legyen ez:
 
new
    query[256];
« Utoljára szerkesztve: 2012. szeptember 11. - 20:29:35 írta ɐʞzssǝlosz »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal